/* automatically generated by rust-bindgen */
pub const THOST_FTDC_EXP_Normal: u8 = b'0';
pub const THOST_FTDC_EXP_GenOrderByTrade: u8 = b'1';
pub const THOST_FTDC_ICT_EID: u8 = b'0';
pub const THOST_FTDC_ICT_IDCard: u8 = b'1';
pub const THOST_FTDC_ICT_OfficerIDCard: u8 = b'2';
pub const THOST_FTDC_ICT_PoliceIDCard: u8 = b'3';
pub const THOST_FTDC_ICT_SoldierIDCard: u8 = b'4';
pub const THOST_FTDC_ICT_HouseholdRegister: u8 = b'5';
pub const THOST_FTDC_ICT_Passport: u8 = b'6';
pub const THOST_FTDC_ICT_TaiwanCompatriotIDCard: u8 = b'7';
pub const THOST_FTDC_ICT_HomeComingCard: u8 = b'8';
pub const THOST_FTDC_ICT_LicenseNo: u8 = b'9';
pub const THOST_FTDC_ICT_TaxNo: u8 = b'A';
pub const THOST_FTDC_ICT_HMMainlandTravelPermit: u8 = b'B';
pub const THOST_FTDC_ICT_TwMainlandTravelPermit: u8 = b'C';
pub const THOST_FTDC_ICT_DrivingLicense: u8 = b'D';
pub const THOST_FTDC_ICT_SocialID: u8 = b'F';
pub const THOST_FTDC_ICT_LocalID: u8 = b'G';
pub const THOST_FTDC_ICT_BusinessRegistration: u8 = b'H';
pub const THOST_FTDC_ICT_HKMCIDCard: u8 = b'I';
pub const THOST_FTDC_ICT_AccountsPermits: u8 = b'J';
pub const THOST_FTDC_ICT_FrgPrmtRdCard: u8 = b'K';
pub const THOST_FTDC_ICT_CptMngPrdLetter: u8 = b'L';
pub const THOST_FTDC_ICT_OtherCard: u8 = b'x';
pub const THOST_FTDC_IR_All: u8 = b'1';
pub const THOST_FTDC_IR_Group: u8 = b'2';
pub const THOST_FTDC_IR_Single: u8 = b'3';
pub const THOST_FTDC_DR_All: u8 = b'1';
pub const THOST_FTDC_DR_Group: u8 = b'2';
pub const THOST_FTDC_DR_Single: u8 = b'3';
pub const THOST_FTDC_DS_Asynchronous: u8 = b'1';
pub const THOST_FTDC_DS_Synchronizing: u8 = b'2';
pub const THOST_FTDC_DS_Synchronized: u8 = b'3';
pub const THOST_FTDC_BDS_Synchronized: u8 = b'1';
pub const THOST_FTDC_BDS_Synchronizing: u8 = b'2';
pub const THOST_FTDC_ECS_NoConnection: u8 = b'1';
pub const THOST_FTDC_ECS_QryInstrumentSent: u8 = b'2';
pub const THOST_FTDC_ECS_GotInformation: u8 = b'9';
pub const THOST_FTDC_TCS_NotConnected: u8 = b'1';
pub const THOST_FTDC_TCS_Connected: u8 = b'2';
pub const THOST_FTDC_TCS_QryInstrumentSent: u8 = b'3';
pub const THOST_FTDC_TCS_SubPrivateFlow: u8 = b'4';
pub const THOST_FTDC_FC_DataAsync: u8 = b'1';
pub const THOST_FTDC_FC_ForceUserLogout: u8 = b'2';
pub const THOST_FTDC_FC_UserPasswordUpdate: u8 = b'3';
pub const THOST_FTDC_FC_BrokerPasswordUpdate: u8 = b'4';
pub const THOST_FTDC_FC_InvestorPasswordUpdate: u8 = b'5';
pub const THOST_FTDC_FC_OrderInsert: u8 = b'6';
pub const THOST_FTDC_FC_OrderAction: u8 = b'7';
pub const THOST_FTDC_FC_SyncSystemData: u8 = b'8';
pub const THOST_FTDC_FC_SyncBrokerData: u8 = b'9';
pub const THOST_FTDC_FC_BachSyncBrokerData: u8 = b'A';
pub const THOST_FTDC_FC_SuperQuery: u8 = b'B';
pub const THOST_FTDC_FC_ParkedOrderInsert: u8 = b'C';
pub const THOST_FTDC_FC_ParkedOrderAction: u8 = b'D';
pub const THOST_FTDC_FC_SyncOTP: u8 = b'E';
pub const THOST_FTDC_FC_DeleteOrder: u8 = b'F';
pub const THOST_FTDC_BFC_ForceUserLogout: u8 = b'1';
pub const THOST_FTDC_BFC_UserPasswordUpdate: u8 = b'2';
pub const THOST_FTDC_BFC_SyncBrokerData: u8 = b'3';
pub const THOST_FTDC_BFC_BachSyncBrokerData: u8 = b'4';
pub const THOST_FTDC_BFC_OrderInsert: u8 = b'5';
pub const THOST_FTDC_BFC_OrderAction: u8 = b'6';
pub const THOST_FTDC_BFC_AllQuery: u8 = b'7';
pub const THOST_FTDC_BFC_log: u8 = b'a';
pub const THOST_FTDC_BFC_BaseQry: u8 = b'b';
pub const THOST_FTDC_BFC_TradeQry: u8 = b'c';
pub const THOST_FTDC_BFC_Trade: u8 = b'd';
pub const THOST_FTDC_BFC_Virement: u8 = b'e';
pub const THOST_FTDC_BFC_Risk: u8 = b'f';
pub const THOST_FTDC_BFC_Session: u8 = b'g';
pub const THOST_FTDC_BFC_RiskNoticeCtl: u8 = b'h';
pub const THOST_FTDC_BFC_RiskNotice: u8 = b'i';
pub const THOST_FTDC_BFC_BrokerDeposit: u8 = b'j';
pub const THOST_FTDC_BFC_QueryFund: u8 = b'k';
pub const THOST_FTDC_BFC_QueryOrder: u8 = b'l';
pub const THOST_FTDC_BFC_QueryTrade: u8 = b'm';
pub const THOST_FTDC_BFC_QueryPosition: u8 = b'n';
pub const THOST_FTDC_BFC_QueryMarketData: u8 = b'o';
pub const THOST_FTDC_BFC_QueryUserEvent: u8 = b'p';
pub const THOST_FTDC_BFC_QueryRiskNotify: u8 = b'q';
pub const THOST_FTDC_BFC_QueryFundChange: u8 = b'r';
pub const THOST_FTDC_BFC_QueryInvestor: u8 = b's';
pub const THOST_FTDC_BFC_QueryTradingCode: u8 = b't';
pub const THOST_FTDC_BFC_ForceClose: u8 = b'u';
pub const THOST_FTDC_BFC_PressTest: u8 = b'v';
pub const THOST_FTDC_BFC_RemainCalc: u8 = b'w';
pub const THOST_FTDC_BFC_NetPositionInd: u8 = b'x';
pub const THOST_FTDC_BFC_RiskPredict: u8 = b'y';
pub const THOST_FTDC_BFC_DataExport: u8 = b'z';
pub const THOST_FTDC_BFC_RiskTargetSetup: u8 = b'A';
pub const THOST_FTDC_BFC_MarketDataWarn: u8 = b'B';
pub const THOST_FTDC_BFC_QryBizNotice: u8 = b'C';
pub const THOST_FTDC_BFC_CfgBizNotice: u8 = b'D';
pub const THOST_FTDC_BFC_SyncOTP: u8 = b'E';
pub const THOST_FTDC_BFC_SendBizNotice: u8 = b'F';
pub const THOST_FTDC_BFC_CfgRiskLevelStd: u8 = b'G';
pub const THOST_FTDC_BFC_TbCommand: u8 = b'H';
pub const THOST_FTDC_BFC_DeleteOrder: u8 = b'J';
pub const THOST_FTDC_BFC_ParkedOrderInsert: u8 = b'K';
pub const THOST_FTDC_BFC_ParkedOrderAction: u8 = b'L';
pub const THOST_FTDC_BFC_ExecOrderNoCheck: u8 = b'M';
pub const THOST_FTDC_BFC_Designate: u8 = b'N';
pub const THOST_FTDC_BFC_StockDisposal: u8 = b'O';
pub const THOST_FTDC_BFC_BrokerDepositWarn: u8 = b'Q';
pub const THOST_FTDC_BFC_CoverWarn: u8 = b'S';
pub const THOST_FTDC_BFC_PreExecOrder: u8 = b'T';
pub const THOST_FTDC_BFC_ExecOrderRisk: u8 = b'P';
pub const THOST_FTDC_BFC_PosiLimitWarn: u8 = b'U';
pub const THOST_FTDC_BFC_QryPosiLimit: u8 = b'V';
pub const THOST_FTDC_BFC_FBSign: u8 = b'W';
pub const THOST_FTDC_BFC_FBAccount: u8 = b'X';
pub const THOST_FTDC_OAS_Submitted: u8 = b'a';
pub const THOST_FTDC_OAS_Accepted: u8 = b'b';
pub const THOST_FTDC_OAS_Rejected: u8 = b'c';
pub const THOST_FTDC_OST_AllTraded: u8 = b'0';
pub const THOST_FTDC_OST_PartTradedQueueing: u8 = b'1';
pub const THOST_FTDC_OST_PartTradedNotQueueing: u8 = b'2';
pub const THOST_FTDC_OST_NoTradeQueueing: u8 = b'3';
pub const THOST_FTDC_OST_NoTradeNotQueueing: u8 = b'4';
pub const THOST_FTDC_OST_Canceled: u8 = b'5';
pub const THOST_FTDC_OST_Unknown: u8 = b'a';
pub const THOST_FTDC_OST_NotTouched: u8 = b'b';
pub const THOST_FTDC_OST_Touched: u8 = b'c';
pub const THOST_FTDC_OSS_InsertSubmitted: u8 = b'0';
pub const THOST_FTDC_OSS_CancelSubmitted: u8 = b'1';
pub const THOST_FTDC_OSS_ModifySubmitted: u8 = b'2';
pub const THOST_FTDC_OSS_Accepted: u8 = b'3';
pub const THOST_FTDC_OSS_InsertRejected: u8 = b'4';
pub const THOST_FTDC_OSS_CancelRejected: u8 = b'5';
pub const THOST_FTDC_OSS_ModifyRejected: u8 = b'6';
pub const THOST_FTDC_PSD_Today: u8 = b'1';
pub const THOST_FTDC_PSD_History: u8 = b'2';
pub const THOST_FTDC_PDT_UseHistory: u8 = b'1';
pub const THOST_FTDC_PDT_NoUseHistory: u8 = b'2';
pub const THOST_FTDC_ER_Broker: u8 = b'1';
pub const THOST_FTDC_ER_Host: u8 = b'2';
pub const THOST_FTDC_ER_Maker: u8 = b'3';
pub const THOST_FTDC_PC_Futures: u8 = b'1';
pub const THOST_FTDC_PC_Options: u8 = b'2';
pub const THOST_FTDC_PC_Combination: u8 = b'3';
pub const THOST_FTDC_PC_Spot: u8 = b'4';
pub const THOST_FTDC_PC_EFP: u8 = b'5';
pub const THOST_FTDC_PC_SpotOption: u8 = b'6';
pub const THOST_FTDC_IP_NotStart: u8 = b'0';
pub const THOST_FTDC_IP_Started: u8 = b'1';
pub const THOST_FTDC_IP_Pause: u8 = b'2';
pub const THOST_FTDC_IP_Expired: u8 = b'3';
pub const THOST_FTDC_D_Buy: u8 = b'0';
pub const THOST_FTDC_D_Sell: u8 = b'1';
pub const THOST_FTDC_PT_Net: u8 = b'1';
pub const THOST_FTDC_PT_Gross: u8 = b'2';
pub const THOST_FTDC_PD_Net: u8 = b'1';
pub const THOST_FTDC_PD_Long: u8 = b'2';
pub const THOST_FTDC_PD_Short: u8 = b'3';
pub const THOST_FTDC_SS_NonActive: u8 = b'1';
pub const THOST_FTDC_SS_Startup: u8 = b'2';
pub const THOST_FTDC_SS_Operating: u8 = b'3';
pub const THOST_FTDC_SS_Settlement: u8 = b'4';
pub const THOST_FTDC_SS_SettlementFinished: u8 = b'5';
pub const THOST_FTDC_RA_Trade: u8 = b'0';
pub const THOST_FTDC_RA_Settlement: u8 = b'1';
pub const THOST_FTDC_HF_Speculation: u8 = b'1';
pub const THOST_FTDC_HF_Arbitrage: u8 = b'2';
pub const THOST_FTDC_HF_Hedge: u8 = b'3';
pub const THOST_FTDC_HF_MarketMaker: u8 = b'5';
pub const THOST_FTDC_HF_SpecHedge: u8 = b'6';
pub const THOST_FTDC_HF_HedgeSpec: u8 = b'7';
pub const THOST_FTDC_BHF_Speculation: u8 = b'1';
pub const THOST_FTDC_BHF_Arbitrage: u8 = b'2';
pub const THOST_FTDC_BHF_Hedge: u8 = b'3';
pub const THOST_FTDC_CIDT_Speculation: u8 = b'1';
pub const THOST_FTDC_CIDT_Arbitrage: u8 = b'2';
pub const THOST_FTDC_CIDT_Hedge: u8 = b'3';
pub const THOST_FTDC_CIDT_MarketMaker: u8 = b'5';
pub const THOST_FTDC_OPT_AnyPrice: u8 = b'1';
pub const THOST_FTDC_OPT_LimitPrice: u8 = b'2';
pub const THOST_FTDC_OPT_BestPrice: u8 = b'3';
pub const THOST_FTDC_OPT_LastPrice: u8 = b'4';
pub const THOST_FTDC_OPT_LastPricePlusOneTicks: u8 = b'5';
pub const THOST_FTDC_OPT_LastPricePlusTwoTicks: u8 = b'6';
pub const THOST_FTDC_OPT_LastPricePlusThreeTicks: u8 = b'7';
pub const THOST_FTDC_OPT_AskPrice1: u8 = b'8';
pub const THOST_FTDC_OPT_AskPrice1PlusOneTicks: u8 = b'9';
pub const THOST_FTDC_OPT_AskPrice1PlusTwoTicks: u8 = b'A';
pub const THOST_FTDC_OPT_AskPrice1PlusThreeTicks: u8 = b'B';
pub const THOST_FTDC_OPT_BidPrice1: u8 = b'C';
pub const THOST_FTDC_OPT_BidPrice1PlusOneTicks: u8 = b'D';
pub const THOST_FTDC_OPT_BidPrice1PlusTwoTicks: u8 = b'E';
pub const THOST_FTDC_OPT_BidPrice1PlusThreeTicks: u8 = b'F';
pub const THOST_FTDC_OPT_FiveLevelPrice: u8 = b'G';
pub const THOST_FTDC_OF_Open: u8 = b'0';
pub const THOST_FTDC_OF_Close: u8 = b'1';
pub const THOST_FTDC_OF_ForceClose: u8 = b'2';
pub const THOST_FTDC_OF_CloseToday: u8 = b'3';
pub const THOST_FTDC_OF_CloseYesterday: u8 = b'4';
pub const THOST_FTDC_OF_ForceOff: u8 = b'5';
pub const THOST_FTDC_OF_LocalForceClose: u8 = b'6';
pub const THOST_FTDC_FCC_NotForceClose: u8 = b'0';
pub const THOST_FTDC_FCC_LackDeposit: u8 = b'1';
pub const THOST_FTDC_FCC_ClientOverPositionLimit: u8 = b'2';
pub const THOST_FTDC_FCC_MemberOverPositionLimit: u8 = b'3';
pub const THOST_FTDC_FCC_NotMultiple: u8 = b'4';
pub const THOST_FTDC_FCC_Violation: u8 = b'5';
pub const THOST_FTDC_FCC_Other: u8 = b'6';
pub const THOST_FTDC_FCC_PersonDeliv: u8 = b'7';
pub const THOST_FTDC_ORDT_Normal: u8 = b'0';
pub const THOST_FTDC_ORDT_DeriveFromQuote: u8 = b'1';
pub const THOST_FTDC_ORDT_DeriveFromCombination: u8 = b'2';
pub const THOST_FTDC_ORDT_Combination: u8 = b'3';
pub const THOST_FTDC_ORDT_ConditionalOrder: u8 = b'4';
pub const THOST_FTDC_ORDT_Swap: u8 = b'5';
pub const THOST_FTDC_ORDT_DeriveFromBlockTrade: u8 = b'6';
pub const THOST_FTDC_ORDT_DeriveFromEFPTrade: u8 = b'7';
pub const THOST_FTDC_TC_IOC: u8 = b'1';
pub const THOST_FTDC_TC_GFS: u8 = b'2';
pub const THOST_FTDC_TC_GFD: u8 = b'3';
pub const THOST_FTDC_TC_GTD: u8 = b'4';
pub const THOST_FTDC_TC_GTC: u8 = b'5';
pub const THOST_FTDC_TC_GFA: u8 = b'6';
pub const THOST_FTDC_VC_AV: u8 = b'1';
pub const THOST_FTDC_VC_MV: u8 = b'2';
pub const THOST_FTDC_VC_CV: u8 = b'3';
pub const THOST_FTDC_CC_Immediately: u8 = b'1';
pub const THOST_FTDC_CC_Touch: u8 = b'2';
pub const THOST_FTDC_CC_TouchProfit: u8 = b'3';
pub const THOST_FTDC_CC_ParkedOrder: u8 = b'4';
pub const THOST_FTDC_CC_LastPriceGreaterThanStopPrice: u8 = b'5';
pub const THOST_FTDC_CC_LastPriceGreaterEqualStopPrice: u8 = b'6';
pub const THOST_FTDC_CC_LastPriceLesserThanStopPrice: u8 = b'7';
pub const THOST_FTDC_CC_LastPriceLesserEqualStopPrice: u8 = b'8';
pub const THOST_FTDC_CC_AskPriceGreaterThanStopPrice: u8 = b'9';
pub const THOST_FTDC_CC_AskPriceGreaterEqualStopPrice: u8 = b'A';
pub const THOST_FTDC_CC_AskPriceLesserThanStopPrice: u8 = b'B';
pub const THOST_FTDC_CC_AskPriceLesserEqualStopPrice: u8 = b'C';
pub const THOST_FTDC_CC_BidPriceGreaterThanStopPrice: u8 = b'D';
pub const THOST_FTDC_CC_BidPriceGreaterEqualStopPrice: u8 = b'E';
pub const THOST_FTDC_CC_BidPriceLesserThanStopPrice: u8 = b'F';
pub const THOST_FTDC_CC_BidPriceLesserEqualStopPrice: u8 = b'H';
pub const THOST_FTDC_AF_Delete: u8 = b'0';
pub const THOST_FTDC_AF_Modify: u8 = b'3';
pub const THOST_FTDC_TR_Allow: u8 = b'0';
pub const THOST_FTDC_TR_CloseOnly: u8 = b'1';
pub const THOST_FTDC_TR_Forbidden: u8 = b'2';
pub const THOST_FTDC_OSRC_Participant: u8 = b'0';
pub const THOST_FTDC_OSRC_Administrator: u8 = b'1';
pub const THOST_FTDC_TRDT_SplitCombination: u8 = b'#';
pub const THOST_FTDC_TRDT_Common: u8 = b'0';
pub const THOST_FTDC_TRDT_OptionsExecution: u8 = b'1';
pub const THOST_FTDC_TRDT_OTC: u8 = b'2';
pub const THOST_FTDC_TRDT_EFPDerived: u8 = b'3';
pub const THOST_FTDC_TRDT_CombinationDerived: u8 = b'4';
pub const THOST_FTDC_TRDT_BlockTrade: u8 = b'5';
pub const THOST_FTDC_PSRC_LastPrice: u8 = b'0';
pub const THOST_FTDC_PSRC_Buy: u8 = b'1';
pub const THOST_FTDC_PSRC_Sell: u8 = b'2';
pub const THOST_FTDC_PSRC_OTC: u8 = b'3';
pub const THOST_FTDC_IS_BeforeTrading: u8 = b'0';
pub const THOST_FTDC_IS_NoTrading: u8 = b'1';
pub const THOST_FTDC_IS_Continous: u8 = b'2';
pub const THOST_FTDC_IS_AuctionOrdering: u8 = b'3';
pub const THOST_FTDC_IS_AuctionBalance: u8 = b'4';
pub const THOST_FTDC_IS_AuctionMatch: u8 = b'5';
pub const THOST_FTDC_IS_Closed: u8 = b'6';
pub const THOST_FTDC_IER_Automatic: u8 = b'1';
pub const THOST_FTDC_IER_Manual: u8 = b'2';
pub const THOST_FTDC_IER_Fuse: u8 = b'3';
pub const THOST_FTDC_BS_NoUpload: u8 = b'1';
pub const THOST_FTDC_BS_Uploaded: u8 = b'2';
pub const THOST_FTDC_BS_Failed: u8 = b'3';
pub const THOST_FTDC_RS_All: u8 = b'1';
pub const THOST_FTDC_RS_ByProduct: u8 = b'2';
pub const THOST_FTDC_RP_ByVolume: u8 = b'1';
pub const THOST_FTDC_RP_ByFeeOnHand: u8 = b'2';
pub const THOST_FTDC_RL_Level1: u8 = b'1';
pub const THOST_FTDC_RL_Level2: u8 = b'2';
pub const THOST_FTDC_RL_Level3: u8 = b'3';
pub const THOST_FTDC_RL_Level4: u8 = b'4';
pub const THOST_FTDC_RL_Level5: u8 = b'5';
pub const THOST_FTDC_RL_Level6: u8 = b'6';
pub const THOST_FTDC_RL_Level7: u8 = b'7';
pub const THOST_FTDC_RL_Level8: u8 = b'8';
pub const THOST_FTDC_RL_Level9: u8 = b'9';
pub const THOST_FTDC_RSD_ByPeriod: u8 = b'1';
pub const THOST_FTDC_RSD_ByStandard: u8 = b'2';
pub const THOST_FTDC_MT_Out: u8 = b'0';
pub const THOST_FTDC_MT_In: u8 = b'1';
pub const THOST_FTDC_ISPI_MortgageRatio: u8 = b'4';
pub const THOST_FTDC_ISPI_MarginWay: u8 = b'5';
pub const THOST_FTDC_ISPI_BillDeposit: u8 = b'9';
pub const THOST_FTDC_ESPI_MortgageRatio: u8 = b'1';
pub const THOST_FTDC_ESPI_OtherFundItem: u8 = b'2';
pub const THOST_FTDC_ESPI_OtherFundImport: u8 = b'3';
pub const THOST_FTDC_ESPI_CFFEXMinPrepa: u8 = b'6';
pub const THOST_FTDC_ESPI_CZCESettlementType: u8 = b'7';
pub const THOST_FTDC_ESPI_ExchDelivFeeMode: u8 = b'9';
pub const THOST_FTDC_ESPI_DelivFeeMode: u8 = b'0';
pub const THOST_FTDC_ESPI_CZCEComMarginType: u8 = b'A';
pub const THOST_FTDC_ESPI_DceComMarginType: u8 = b'B';
pub const THOST_FTDC_ESPI_OptOutDisCountRate: u8 = b'a';
pub const THOST_FTDC_ESPI_OptMiniGuarantee: u8 = b'b';
pub const THOST_FTDC_SPI_InvestorIDMinLength: u8 = b'1';
pub const THOST_FTDC_SPI_AccountIDMinLength: u8 = b'2';
pub const THOST_FTDC_SPI_UserRightLogon: u8 = b'3';
pub const THOST_FTDC_SPI_SettlementBillTrade: u8 = b'4';
pub const THOST_FTDC_SPI_TradingCode: u8 = b'5';
pub const THOST_FTDC_SPI_CheckFund: u8 = b'6';
pub const THOST_FTDC_SPI_CommModelRight: u8 = b'7';
pub const THOST_FTDC_SPI_MarginModelRight: u8 = b'9';
pub const THOST_FTDC_SPI_IsStandardActive: u8 = b'8';
pub const THOST_FTDC_SPI_UploadSettlementFile: u8 = b'U';
pub const THOST_FTDC_SPI_DownloadCSRCFile: u8 = b'D';
pub const THOST_FTDC_SPI_SettlementBillFile: u8 = b'S';
pub const THOST_FTDC_SPI_CSRCOthersFile: u8 = b'C';
pub const THOST_FTDC_SPI_InvestorPhoto: u8 = b'P';
pub const THOST_FTDC_SPI_CSRCData: u8 = b'R';
pub const THOST_FTDC_SPI_InvestorPwdModel: u8 = b'I';
pub const THOST_FTDC_SPI_CFFEXInvestorSettleFile: u8 = b'F';
pub const THOST_FTDC_SPI_InvestorIDType: u8 = b'a';
pub const THOST_FTDC_SPI_FreezeMaxReMain: u8 = b'r';
pub const THOST_FTDC_SPI_IsSync: u8 = b'A';
pub const THOST_FTDC_SPI_RelieveOpenLimit: u8 = b'O';
pub const THOST_FTDC_SPI_IsStandardFreeze: u8 = b'X';
pub const THOST_FTDC_SPI_CZCENormalProductHedge: u8 = b'B';
pub const THOST_FTDC_TPID_EncryptionStandard: u8 = b'E';
pub const THOST_FTDC_TPID_RiskMode: u8 = b'R';
pub const THOST_FTDC_TPID_RiskModeGlobal: u8 = b'G';
pub const THOST_FTDC_TPID_modeEncode: u8 = b'P';
pub const THOST_FTDC_TPID_tickMode: u8 = b'T';
pub const THOST_FTDC_TPID_SingleUserSessionMaxNum: u8 = b'S';
pub const THOST_FTDC_TPID_LoginFailMaxNum: u8 = b'L';
pub const THOST_FTDC_TPID_IsAuthForce: u8 = b'A';
pub const THOST_FTDC_TPID_IsPosiFreeze: u8 = b'F';
pub const THOST_FTDC_TPID_IsPosiLimit: u8 = b'M';
pub const THOST_FTDC_TPID_ForQuoteTimeInterval: u8 = b'Q';
pub const THOST_FTDC_TPID_IsFuturePosiLimit: u8 = b'B';
pub const THOST_FTDC_TPID_IsFutureOrderFreq: u8 = b'C';
pub const THOST_FTDC_TPID_IsExecOrderProfit: u8 = b'H';
pub const THOST_FTDC_TPID_IsCheckBankAcc: u8 = b'I';
pub const THOST_FTDC_TPID_PasswordDeadLine: u8 = b'J';
pub const THOST_FTDC_TPID_IsStrongPassword: u8 = b'K';
pub const THOST_FTDC_TPID_BalanceMorgage: u8 = b'a';
pub const THOST_FTDC_TPID_MinPwdLen: u8 = b'O';
pub const THOST_FTDC_TPID_LoginFailMaxNumForIP: u8 = b'U';
pub const THOST_FTDC_TPID_PasswordPeriod: u8 = b'V';
pub const THOST_FTDC_FI_SettlementFund: u8 = b'F';
pub const THOST_FTDC_FI_Trade: u8 = b'T';
pub const THOST_FTDC_FI_InvestorPosition: u8 = b'P';
pub const THOST_FTDC_FI_SubEntryFund: u8 = b'O';
pub const THOST_FTDC_FI_CZCECombinationPos: u8 = b'C';
pub const THOST_FTDC_FI_CSRCData: u8 = b'R';
pub const THOST_FTDC_FI_CZCEClose: u8 = b'L';
pub const THOST_FTDC_FI_CZCENoClose: u8 = b'N';
pub const THOST_FTDC_FI_PositionDtl: u8 = b'D';
pub const THOST_FTDC_FI_OptionStrike: u8 = b'S';
pub const THOST_FTDC_FI_SettlementPriceComparison: u8 = b'M';
pub const THOST_FTDC_FI_NonTradePosChange: u8 = b'B';
pub const THOST_FTDC_FUT_Settlement: u8 = b'0';
pub const THOST_FTDC_FUT_Check: u8 = b'1';
pub const THOST_FTDC_FFT_Txt: u8 = b'0';
pub const THOST_FTDC_FFT_Zip: u8 = b'1';
pub const THOST_FTDC_FFT_DBF: u8 = b'2';
pub const THOST_FTDC_FUS_SucceedUpload: u8 = b'1';
pub const THOST_FTDC_FUS_FailedUpload: u8 = b'2';
pub const THOST_FTDC_FUS_SucceedLoad: u8 = b'3';
pub const THOST_FTDC_FUS_PartSucceedLoad: u8 = b'4';
pub const THOST_FTDC_FUS_FailedLoad: u8 = b'5';
pub const THOST_FTDC_TD_Out: u8 = b'0';
pub const THOST_FTDC_TD_In: u8 = b'1';
pub const THOST_FTDC_SC_NoSpecialRule: u8 = b'0';
pub const THOST_FTDC_SC_NoSpringFestival: u8 = b'1';
pub const THOST_FTDC_IPT_LastSettlement: u8 = b'1';
pub const THOST_FTDC_IPT_LaseClose: u8 = b'2';
pub const THOST_FTDC_PLP_Active: u8 = b'1';
pub const THOST_FTDC_PLP_NonActive: u8 = b'2';
pub const THOST_FTDC_PLP_Canceled: u8 = b'3';
pub const THOST_FTDC_DM_CashDeliv: u8 = b'1';
pub const THOST_FTDC_DM_CommodityDeliv: u8 = b'2';
pub const THOST_FTDC_FIOT_FundIO: u8 = b'1';
pub const THOST_FTDC_FIOT_Transfer: u8 = b'2';
pub const THOST_FTDC_FIOT_SwapCurrency: u8 = b'3';
pub const THOST_FTDC_FT_Deposite: u8 = b'1';
pub const THOST_FTDC_FT_ItemFund: u8 = b'2';
pub const THOST_FTDC_FT_Company: u8 = b'3';
pub const THOST_FTDC_FT_InnerTransfer: u8 = b'4';
pub const THOST_FTDC_FD_In: u8 = b'1';
pub const THOST_FTDC_FD_Out: u8 = b'2';
pub const THOST_FTDC_FS_Record: u8 = b'1';
pub const THOST_FTDC_FS_Check: u8 = b'2';
pub const THOST_FTDC_FS_Charge: u8 = b'3';
pub const THOST_FTDC_PS_None: u8 = b'1';
pub const THOST_FTDC_PS_Publishing: u8 = b'2';
pub const THOST_FTDC_PS_Published: u8 = b'3';
pub const THOST_FTDC_ES_NonActive: u8 = b'1';
pub const THOST_FTDC_ES_Startup: u8 = b'2';
pub const THOST_FTDC_ES_Initialize: u8 = b'3';
pub const THOST_FTDC_ES_Initialized: u8 = b'4';
pub const THOST_FTDC_ES_Close: u8 = b'5';
pub const THOST_FTDC_ES_Closed: u8 = b'6';
pub const THOST_FTDC_ES_Settlement: u8 = b'7';
pub const THOST_FTDC_STS_Initialize: u8 = b'0';
pub const THOST_FTDC_STS_Settlementing: u8 = b'1';
pub const THOST_FTDC_STS_Settlemented: u8 = b'2';
pub const THOST_FTDC_STS_Finished: u8 = b'3';
pub const THOST_FTDC_CT_Person: u8 = b'0';
pub const THOST_FTDC_CT_Company: u8 = b'1';
pub const THOST_FTDC_CT_Fund: u8 = b'2';
pub const THOST_FTDC_CT_SpecialOrgan: u8 = b'3';
pub const THOST_FTDC_CT_Asset: u8 = b'4';
pub const THOST_FTDC_BT_Trade: u8 = b'0';
pub const THOST_FTDC_BT_TradeSettle: u8 = b'1';
pub const THOST_FTDC_FAS_Low: u8 = b'1';
pub const THOST_FTDC_FAS_Normal: u8 = b'2';
pub const THOST_FTDC_FAS_Focus: u8 = b'3';
pub const THOST_FTDC_FAS_Risk: u8 = b'4';
pub const THOST_FTDC_FAS_ByTrade: u8 = b'1';
pub const THOST_FTDC_FAS_ByDeliv: u8 = b'2';
pub const THOST_FTDC_FAS_None: u8 = b'3';
pub const THOST_FTDC_FAS_FixFee: u8 = b'4';
pub const THOST_FTDC_PWDT_Trade: u8 = b'1';
pub const THOST_FTDC_PWDT_Account: u8 = b'2';
pub const THOST_FTDC_AG_All: u8 = b'1';
pub const THOST_FTDC_AG_OnlyLost: u8 = b'2';
pub const THOST_FTDC_AG_OnlyGain: u8 = b'3';
pub const THOST_FTDC_AG_None: u8 = b'4';
pub const THOST_FTDC_ICP_Include: u8 = b'0';
pub const THOST_FTDC_ICP_NotInclude: u8 = b'2';
pub const THOST_FTDC_AWT_Enable: u8 = b'0';
pub const THOST_FTDC_AWT_Disable: u8 = b'2';
pub const THOST_FTDC_AWT_NoHoldEnable: u8 = b'3';
pub const THOST_FTDC_FPWD_UnCheck: u8 = b'0';
pub const THOST_FTDC_FPWD_Check: u8 = b'1';
pub const THOST_FTDC_TT_BankToFuture: u8 = b'0';
pub const THOST_FTDC_TT_FutureToBank: u8 = b'1';
pub const THOST_FTDC_TVF_Invalid: u8 = b'0';
pub const THOST_FTDC_TVF_Valid: u8 = b'1';
pub const THOST_FTDC_TVF_Reverse: u8 = b'2';
pub const THOST_FTDC_RN_CD: u8 = b'0';
pub const THOST_FTDC_RN_ZT: u8 = b'1';
pub const THOST_FTDC_RN_QT: u8 = b'2';
pub const THOST_FTDC_SEX_None: u8 = b'0';
pub const THOST_FTDC_SEX_Man: u8 = b'1';
pub const THOST_FTDC_SEX_Woman: u8 = b'2';
pub const THOST_FTDC_UT_Investor: u8 = b'0';
pub const THOST_FTDC_UT_Operator: u8 = b'1';
pub const THOST_FTDC_UT_SuperUser: u8 = b'2';
pub const THOST_FTDC_RATETYPE_MarginRate: u8 = b'2';
pub const THOST_FTDC_NOTETYPE_TradeSettleBill: u8 = b'1';
pub const THOST_FTDC_NOTETYPE_TradeSettleMonth: u8 = b'2';
pub const THOST_FTDC_NOTETYPE_CallMarginNotes: u8 = b'3';
pub const THOST_FTDC_NOTETYPE_ForceCloseNotes: u8 = b'4';
pub const THOST_FTDC_NOTETYPE_TradeNotes: u8 = b'5';
pub const THOST_FTDC_NOTETYPE_DelivNotes: u8 = b'6';
pub const THOST_FTDC_SBS_Day: u8 = b'1';
pub const THOST_FTDC_SBS_Volume: u8 = b'2';
pub const THOST_FTDC_ST_Day: u8 = b'0';
pub const THOST_FTDC_ST_Month: u8 = b'1';
pub const THOST_FTDC_URT_Logon: u8 = b'1';
pub const THOST_FTDC_URT_Transfer: u8 = b'2';
pub const THOST_FTDC_URT_EMail: u8 = b'3';
pub const THOST_FTDC_URT_Fax: u8 = b'4';
pub const THOST_FTDC_URT_ConditionOrder: u8 = b'5';
pub const THOST_FTDC_MPT_PreSettlementPrice: u8 = b'1';
pub const THOST_FTDC_MPT_SettlementPrice: u8 = b'2';
pub const THOST_FTDC_MPT_AveragePrice: u8 = b'3';
pub const THOST_FTDC_MPT_OpenPrice: u8 = b'4';
pub const THOST_FTDC_BGS_None: u8 = b'0';
pub const THOST_FTDC_BGS_NoGenerated: u8 = b'1';
pub const THOST_FTDC_BGS_Generated: u8 = b'2';
pub const THOST_FTDC_AT_HandlePositionAlgo: u8 = b'1';
pub const THOST_FTDC_AT_FindMarginRateAlgo: u8 = b'2';
pub const THOST_FTDC_HPA_Base: u8 = b'1';
pub const THOST_FTDC_HPA_DCE: u8 = b'2';
pub const THOST_FTDC_HPA_CZCE: u8 = b'3';
pub const THOST_FTDC_FMRA_Base: u8 = b'1';
pub const THOST_FTDC_FMRA_DCE: u8 = b'2';
pub const THOST_FTDC_FMRA_CZCE: u8 = b'3';
pub const THOST_FTDC_HTAA_Base: u8 = b'1';
pub const THOST_FTDC_HTAA_DCE: u8 = b'2';
pub const THOST_FTDC_HTAA_CZCE: u8 = b'3';
pub const THOST_FTDC_PST_Order: u8 = b'1';
pub const THOST_FTDC_PST_Open: u8 = b'2';
pub const THOST_FTDC_PST_Fund: u8 = b'3';
pub const THOST_FTDC_PST_Settlement: u8 = b'4';
pub const THOST_FTDC_PST_Company: u8 = b'5';
pub const THOST_FTDC_PST_Corporation: u8 = b'6';
pub const THOST_FTDC_PST_LinkMan: u8 = b'7';
pub const THOST_FTDC_PST_Ledger: u8 = b'8';
pub const THOST_FTDC_PST_Trustee: u8 = b'9';
pub const THOST_FTDC_PST_TrusteeCorporation: u8 = b'A';
pub const THOST_FTDC_PST_TrusteeOpen: u8 = b'B';
pub const THOST_FTDC_PST_TrusteeContact: u8 = b'C';
pub const THOST_FTDC_PST_ForeignerRefer: u8 = b'D';
pub const THOST_FTDC_PST_CorporationRefer: u8 = b'E';
pub const THOST_FTDC_QIR_All: u8 = b'1';
pub const THOST_FTDC_QIR_Group: u8 = b'2';
pub const THOST_FTDC_QIR_Single: u8 = b'3';
pub const THOST_FTDC_IRS_Normal: u8 = b'1';
pub const THOST_FTDC_IRS_Warn: u8 = b'2';
pub const THOST_FTDC_IRS_Call: u8 = b'3';
pub const THOST_FTDC_IRS_Force: u8 = b'4';
pub const THOST_FTDC_IRS_Exception: u8 = b'5';
pub const THOST_FTDC_UET_Login: u8 = b'1';
pub const THOST_FTDC_UET_Logout: u8 = b'2';
pub const THOST_FTDC_UET_Trading: u8 = b'3';
pub const THOST_FTDC_UET_TradingError: u8 = b'4';
pub const THOST_FTDC_UET_UpdatePassword: u8 = b'5';
pub const THOST_FTDC_UET_Authenticate: u8 = b'6';
pub const THOST_FTDC_UET_Other: u8 = b'9';
pub const THOST_FTDC_ICS_Close: u8 = b'0';
pub const THOST_FTDC_ICS_CloseToday: u8 = b'1';
pub const THOST_FTDC_SM_Non: u8 = b'0';
pub const THOST_FTDC_SM_Instrument: u8 = b'1';
pub const THOST_FTDC_SM_Product: u8 = b'2';
pub const THOST_FTDC_SM_Investor: u8 = b'3';
pub const THOST_FTDC_PAOS_NotSend: u8 = b'1';
pub const THOST_FTDC_PAOS_Send: u8 = b'2';
pub const THOST_FTDC_PAOS_Deleted: u8 = b'3';
pub const THOST_FTDC_VDS_Dealing: u8 = b'1';
pub const THOST_FTDC_VDS_DeaclSucceed: u8 = b'2';
pub const THOST_FTDC_ORGS_Standard: u8 = b'0';
pub const THOST_FTDC_ORGS_ESunny: u8 = b'1';
pub const THOST_FTDC_ORGS_KingStarV6: u8 = b'2';
pub const THOST_FTDC_VTS_NaturalDeal: u8 = b'0';
pub const THOST_FTDC_VTS_SucceedEnd: u8 = b'1';
pub const THOST_FTDC_VTS_FailedEND: u8 = b'2';
pub const THOST_FTDC_VTS_Exception: u8 = b'3';
pub const THOST_FTDC_VTS_ManualDeal: u8 = b'4';
pub const THOST_FTDC_VTS_MesException: u8 = b'5';
pub const THOST_FTDC_VTS_SysException: u8 = b'6';
pub const THOST_FTDC_VBAT_BankBook: u8 = b'1';
pub const THOST_FTDC_VBAT_BankCard: u8 = b'2';
pub const THOST_FTDC_VBAT_CreditCard: u8 = b'3';
pub const THOST_FTDC_VMS_Natural: u8 = b'0';
pub const THOST_FTDC_VMS_Canceled: u8 = b'9';
pub const THOST_FTDC_VAA_NoAvailAbility: u8 = b'0';
pub const THOST_FTDC_VAA_AvailAbility: u8 = b'1';
pub const THOST_FTDC_VAA_Repeal: u8 = b'2';
pub const THOST_FTDC_GEN_Program: u8 = b'0';
pub const THOST_FTDC_GEN_HandWork: u8 = b'1';
pub const THOST_FTDC_CFMMCKK_REQUEST: u8 = b'R';
pub const THOST_FTDC_CFMMCKK_AUTO: u8 = b'A';
pub const THOST_FTDC_CFMMCKK_MANUAL: u8 = b'M';
pub const THOST_FTDC_CFT_IDCard: u8 = b'0';
pub const THOST_FTDC_CFT_Passport: u8 = b'1';
pub const THOST_FTDC_CFT_OfficerIDCard: u8 = b'2';
pub const THOST_FTDC_CFT_SoldierIDCard: u8 = b'3';
pub const THOST_FTDC_CFT_HomeComingCard: u8 = b'4';
pub const THOST_FTDC_CFT_HouseholdRegister: u8 = b'5';
pub const THOST_FTDC_CFT_LicenseNo: u8 = b'6';
pub const THOST_FTDC_CFT_InstitutionCodeCard: u8 = b'7';
pub const THOST_FTDC_CFT_TempLicenseNo: u8 = b'8';
pub const THOST_FTDC_CFT_NoEnterpriseLicenseNo: u8 = b'9';
pub const THOST_FTDC_CFT_OtherCard: u8 = b'x';
pub const THOST_FTDC_CFT_SuperDepAgree: u8 = b'a';
pub const THOST_FTDC_FBC_Others: u8 = b'0';
pub const THOST_FTDC_FBC_TransferDetails: u8 = b'1';
pub const THOST_FTDC_FBC_CustAccStatus: u8 = b'2';
pub const THOST_FTDC_FBC_AccountTradeDetails: u8 = b'3';
pub const THOST_FTDC_FBC_FutureAccountChangeInfoDetails: u8 = b'4';
pub const THOST_FTDC_FBC_CustMoneyDetail: u8 = b'5';
pub const THOST_FTDC_FBC_CustCancelAccountInfo: u8 = b'6';
pub const THOST_FTDC_FBC_CustMoneyResult: u8 = b'7';
pub const THOST_FTDC_FBC_OthersExceptionResult: u8 = b'8';
pub const THOST_FTDC_FBC_CustInterestNetMoneyDetails: u8 = b'9';
pub const THOST_FTDC_FBC_CustMoneySendAndReceiveDetails: u8 = b'a';
pub const THOST_FTDC_FBC_CorporationMoneyTotal: u8 = b'b';
pub const THOST_FTDC_FBC_MainbodyMoneyTotal: u8 = b'c';
pub const THOST_FTDC_FBC_MainPartMonitorData: u8 = b'd';
pub const THOST_FTDC_FBC_PreparationMoney: u8 = b'e';
pub const THOST_FTDC_FBC_BankMoneyMonitorData: u8 = b'f';
pub const THOST_FTDC_CEC_Exchange: u8 = b'1';
pub const THOST_FTDC_CEC_Cash: u8 = b'2';
pub const THOST_FTDC_YNI_Yes: u8 = b'0';
pub const THOST_FTDC_YNI_No: u8 = b'1';
pub const THOST_FTDC_BLT_CurrentMoney: u8 = b'0';
pub const THOST_FTDC_BLT_UsableMoney: u8 = b'1';
pub const THOST_FTDC_BLT_FetchableMoney: u8 = b'2';
pub const THOST_FTDC_BLT_FreezeMoney: u8 = b'3';
pub const THOST_FTDC_GD_Unknown: u8 = b'0';
pub const THOST_FTDC_GD_Male: u8 = b'1';
pub const THOST_FTDC_GD_Female: u8 = b'2';
pub const THOST_FTDC_FPF_BEN: u8 = b'0';
pub const THOST_FTDC_FPF_OUR: u8 = b'1';
pub const THOST_FTDC_FPF_SHA: u8 = b'2';
pub const THOST_FTDC_PWKT_ExchangeKey: u8 = b'0';
pub const THOST_FTDC_PWKT_PassWordKey: u8 = b'1';
pub const THOST_FTDC_PWKT_MACKey: u8 = b'2';
pub const THOST_FTDC_PWKT_MessageKey: u8 = b'3';
pub const THOST_FTDC_PWT_Query: u8 = b'0';
pub const THOST_FTDC_PWT_Fetch: u8 = b'1';
pub const THOST_FTDC_PWT_Transfer: u8 = b'2';
pub const THOST_FTDC_PWT_Trade: u8 = b'3';
pub const THOST_FTDC_EM_NoEncry: u8 = b'0';
pub const THOST_FTDC_EM_DES: u8 = b'1';
pub const THOST_FTDC_EM_3DES: u8 = b'2';
pub const THOST_FTDC_BRF_BankNotNeedRepeal: u8 = b'0';
pub const THOST_FTDC_BRF_BankWaitingRepeal: u8 = b'1';
pub const THOST_FTDC_BRF_BankBeenRepealed: u8 = b'2';
pub const THOST_FTDC_BRORF_BrokerNotNeedRepeal: u8 = b'0';
pub const THOST_FTDC_BRORF_BrokerWaitingRepeal: u8 = b'1';
pub const THOST_FTDC_BRORF_BrokerBeenRepealed: u8 = b'2';
pub const THOST_FTDC_TS_Bank: u8 = b'0';
pub const THOST_FTDC_TS_Future: u8 = b'1';
pub const THOST_FTDC_TS_Store: u8 = b'2';
pub const THOST_FTDC_LF_Yes: u8 = b'0';
pub const THOST_FTDC_LF_No: u8 = b'1';
pub const THOST_FTDC_BAS_Normal: u8 = b'0';
pub const THOST_FTDC_BAS_Freeze: u8 = b'1';
pub const THOST_FTDC_BAS_ReportLoss: u8 = b'2';
pub const THOST_FTDC_MAS_Normal: u8 = b'0';
pub const THOST_FTDC_MAS_Cancel: u8 = b'1';
pub const THOST_FTDC_MSS_Point: u8 = b'0';
pub const THOST_FTDC_MSS_PrePoint: u8 = b'1';
pub const THOST_FTDC_MSS_CancelPoint: u8 = b'2';
pub const THOST_FTDC_SYT_FutureBankTransfer: u8 = b'0';
pub const THOST_FTDC_SYT_StockBankTransfer: u8 = b'1';
pub const THOST_FTDC_SYT_TheThirdPartStore: u8 = b'2';
pub const THOST_FTDC_TEF_NormalProcessing: u8 = b'0';
pub const THOST_FTDC_TEF_Success: u8 = b'1';
pub const THOST_FTDC_TEF_Failed: u8 = b'2';
pub const THOST_FTDC_TEF_Abnormal: u8 = b'3';
pub const THOST_FTDC_TEF_ManualProcessedForException: u8 = b'4';
pub const THOST_FTDC_TEF_CommuFailedNeedManualProcess: u8 = b'5';
pub const THOST_FTDC_TEF_SysErrorNeedManualProcess: u8 = b'6';
pub const THOST_FTDC_PSS_NotProcess: u8 = b'0';
pub const THOST_FTDC_PSS_StartProcess: u8 = b'1';
pub const THOST_FTDC_PSS_Finished: u8 = b'2';
pub const THOST_FTDC_CUSTT_Person: u8 = b'0';
pub const THOST_FTDC_CUSTT_Institution: u8 = b'1';
pub const THOST_FTDC_FBTTD_FromBankToFuture: u8 = b'1';
pub const THOST_FTDC_FBTTD_FromFutureToBank: u8 = b'2';
pub const THOST_FTDC_OOD_Open: u8 = b'1';
pub const THOST_FTDC_OOD_Destroy: u8 = b'0';
pub const THOST_FTDC_AVAF_Invalid: u8 = b'0';
pub const THOST_FTDC_AVAF_Valid: u8 = b'1';
pub const THOST_FTDC_AVAF_Repeal: u8 = b'2';
pub const THOST_FTDC_OT_Bank: u8 = b'1';
pub const THOST_FTDC_OT_Future: u8 = b'2';
pub const THOST_FTDC_OT_PlateForm: u8 = b'9';
pub const THOST_FTDC_OL_HeadQuarters: u8 = b'1';
pub const THOST_FTDC_OL_Branch: u8 = b'2';
pub const THOST_FTDC_PID_FutureProtocal: u8 = b'0';
pub const THOST_FTDC_PID_ICBCProtocal: u8 = b'1';
pub const THOST_FTDC_PID_ABCProtocal: u8 = b'2';
pub const THOST_FTDC_PID_CBCProtocal: u8 = b'3';
pub const THOST_FTDC_PID_CCBProtocal: u8 = b'4';
pub const THOST_FTDC_PID_BOCOMProtocal: u8 = b'5';
pub const THOST_FTDC_PID_FBTPlateFormProtocal: u8 = b'X';
pub const THOST_FTDC_CM_ShortConnect: u8 = b'0';
pub const THOST_FTDC_CM_LongConnect: u8 = b'1';
pub const THOST_FTDC_SRM_ASync: u8 = b'0';
pub const THOST_FTDC_SRM_Sync: u8 = b'1';
pub const THOST_FTDC_BAT_BankBook: u8 = b'1';
pub const THOST_FTDC_BAT_SavingCard: u8 = b'2';
pub const THOST_FTDC_BAT_CreditCard: u8 = b'3';
pub const THOST_FTDC_FAT_BankBook: u8 = b'1';
pub const THOST_FTDC_FAT_SavingCard: u8 = b'2';
pub const THOST_FTDC_FAT_CreditCard: u8 = b'3';
pub const THOST_FTDC_OS_Ready: u8 = b'0';
pub const THOST_FTDC_OS_CheckIn: u8 = b'1';
pub const THOST_FTDC_OS_CheckOut: u8 = b'2';
pub const THOST_FTDC_OS_CheckFileArrived: u8 = b'3';
pub const THOST_FTDC_OS_CheckDetail: u8 = b'4';
pub const THOST_FTDC_OS_DayEndClean: u8 = b'5';
pub const THOST_FTDC_OS_Invalid: u8 = b'9';
pub const THOST_FTDC_CCBFM_ByAmount: u8 = b'1';
pub const THOST_FTDC_CCBFM_ByMonth: u8 = b'2';
pub const THOST_FTDC_CAPIT_Client: u8 = b'1';
pub const THOST_FTDC_CAPIT_Server: u8 = b'2';
pub const THOST_FTDC_CAPIT_UserApi: u8 = b'3';
pub const THOST_FTDC_LS_Connected: u8 = b'1';
pub const THOST_FTDC_LS_Disconnected: u8 = b'2';
pub const THOST_FTDC_BPWDF_NoCheck: u8 = b'0';
pub const THOST_FTDC_BPWDF_BlankCheck: u8 = b'1';
pub const THOST_FTDC_BPWDF_EncryptCheck: u8 = b'2';
pub const THOST_FTDC_SAT_AccountID: u8 = b'1';
pub const THOST_FTDC_SAT_CardID: u8 = b'2';
pub const THOST_FTDC_SAT_SHStockholderID: u8 = b'3';
pub const THOST_FTDC_SAT_SZStockholderID: u8 = b'4';
pub const THOST_FTDC_TRFS_Normal: u8 = b'0';
pub const THOST_FTDC_TRFS_Repealed: u8 = b'1';
pub const THOST_FTDC_SPTYPE_Broker: u8 = b'0';
pub const THOST_FTDC_SPTYPE_Bank: u8 = b'1';
pub const THOST_FTDC_REQRSP_Request: u8 = b'0';
pub const THOST_FTDC_REQRSP_Response: u8 = b'1';
pub const THOST_FTDC_FBTUET_SignIn: u8 = b'0';
pub const THOST_FTDC_FBTUET_FromBankToFuture: u8 = b'1';
pub const THOST_FTDC_FBTUET_FromFutureToBank: u8 = b'2';
pub const THOST_FTDC_FBTUET_OpenAccount: u8 = b'3';
pub const THOST_FTDC_FBTUET_CancelAccount: u8 = b'4';
pub const THOST_FTDC_FBTUET_ChangeAccount: u8 = b'5';
pub const THOST_FTDC_FBTUET_RepealFromBankToFuture: u8 = b'6';
pub const THOST_FTDC_FBTUET_RepealFromFutureToBank: u8 = b'7';
pub const THOST_FTDC_FBTUET_QueryBankAccount: u8 = b'8';
pub const THOST_FTDC_FBTUET_QueryFutureAccount: u8 = b'9';
pub const THOST_FTDC_FBTUET_SignOut: u8 = b'A';
pub const THOST_FTDC_FBTUET_SyncKey: u8 = b'B';
pub const THOST_FTDC_FBTUET_ReserveOpenAccount: u8 = b'C';
pub const THOST_FTDC_FBTUET_CancelReserveOpenAccount: u8 = b'D';
pub const THOST_FTDC_FBTUET_ReserveOpenAccountConfirm: u8 = b'E';
pub const THOST_FTDC_FBTUET_Other: u8 = b'Z';
pub const THOST_FTDC_DBOP_Insert: u8 = b'0';
pub const THOST_FTDC_DBOP_Update: u8 = b'1';
pub const THOST_FTDC_DBOP_Delete: u8 = b'2';
pub const THOST_FTDC_SYNF_Yes: u8 = b'0';
pub const THOST_FTDC_SYNF_No: u8 = b'1';
pub const THOST_FTDC_SYNT_OneOffSync: u8 = b'0';
pub const THOST_FTDC_SYNT_TimerSync: u8 = b'1';
pub const THOST_FTDC_SYNT_TimerFullSync: u8 = b'2';
pub const THOST_FTDC_FBEDIR_Settlement: u8 = b'0';
pub const THOST_FTDC_FBEDIR_Sale: u8 = b'1';
pub const THOST_FTDC_FBERES_Success: u8 = b'0';
pub const THOST_FTDC_FBERES_InsufficientBalance: u8 = b'1';
pub const THOST_FTDC_FBERES_UnknownTrading: u8 = b'8';
pub const THOST_FTDC_FBERES_Fail: u8 = b'x';
pub const THOST_FTDC_FBEES_Normal: u8 = b'0';
pub const THOST_FTDC_FBEES_ReExchange: u8 = b'1';
pub const THOST_FTDC_FBEFG_DataPackage: u8 = b'0';
pub const THOST_FTDC_FBEFG_File: u8 = b'1';
pub const THOST_FTDC_FBEAT_NotTrade: u8 = b'0';
pub const THOST_FTDC_FBEAT_Trade: u8 = b'1';
pub const THOST_FTDC_FBEUET_SignIn: u8 = b'0';
pub const THOST_FTDC_FBEUET_Exchange: u8 = b'1';
pub const THOST_FTDC_FBEUET_ReExchange: u8 = b'2';
pub const THOST_FTDC_FBEUET_QueryBankAccount: u8 = b'3';
pub const THOST_FTDC_FBEUET_QueryExchDetial: u8 = b'4';
pub const THOST_FTDC_FBEUET_QueryExchSummary: u8 = b'5';
pub const THOST_FTDC_FBEUET_QueryExchRate: u8 = b'6';
pub const THOST_FTDC_FBEUET_CheckBankAccount: u8 = b'7';
pub const THOST_FTDC_FBEUET_SignOut: u8 = b'8';
pub const THOST_FTDC_FBEUET_Other: u8 = b'Z';
pub const THOST_FTDC_FBERF_UnProcessed: u8 = b'0';
pub const THOST_FTDC_FBERF_WaitSend: u8 = b'1';
pub const THOST_FTDC_FBERF_SendSuccess: u8 = b'2';
pub const THOST_FTDC_FBERF_SendFailed: u8 = b'3';
pub const THOST_FTDC_FBERF_WaitReSend: u8 = b'4';
pub const THOST_FTDC_NC_NOERROR: u8 = b'0';
pub const THOST_FTDC_NC_Warn: u8 = b'1';
pub const THOST_FTDC_NC_Call: u8 = b'2';
pub const THOST_FTDC_NC_Force: u8 = b'3';
pub const THOST_FTDC_NC_CHUANCANG: u8 = b'4';
pub const THOST_FTDC_NC_Exception: u8 = b'5';
pub const THOST_FTDC_FCT_Manual: u8 = b'0';
pub const THOST_FTDC_FCT_Single: u8 = b'1';
pub const THOST_FTDC_FCT_Group: u8 = b'2';
pub const THOST_FTDC_RNM_System: u8 = b'0';
pub const THOST_FTDC_RNM_SMS: u8 = b'1';
pub const THOST_FTDC_RNM_EMail: u8 = b'2';
pub const THOST_FTDC_RNM_Manual: u8 = b'3';
pub const THOST_FTDC_RNS_NotGen: u8 = b'0';
pub const THOST_FTDC_RNS_Generated: u8 = b'1';
pub const THOST_FTDC_RNS_SendError: u8 = b'2';
pub const THOST_FTDC_RNS_SendOk: u8 = b'3';
pub const THOST_FTDC_RNS_Received: u8 = b'4';
pub const THOST_FTDC_RNS_Confirmed: u8 = b'5';
pub const THOST_FTDC_RUE_ExportData: u8 = b'0';
pub const THOST_FTDC_COST_LastPriceAsc: u8 = b'0';
pub const THOST_FTDC_COST_LastPriceDesc: u8 = b'1';
pub const THOST_FTDC_COST_AskPriceAsc: u8 = b'2';
pub const THOST_FTDC_COST_AskPriceDesc: u8 = b'3';
pub const THOST_FTDC_COST_BidPriceAsc: u8 = b'4';
pub const THOST_FTDC_COST_BidPriceDesc: u8 = b'5';
pub const THOST_FTDC_UOAST_NoSend: u8 = b'0';
pub const THOST_FTDC_UOAST_Sended: u8 = b'1';
pub const THOST_FTDC_UOAST_Generated: u8 = b'2';
pub const THOST_FTDC_UOAST_SendFail: u8 = b'3';
pub const THOST_FTDC_UOAST_Success: u8 = b'4';
pub const THOST_FTDC_UOAST_Fail: u8 = b'5';
pub const THOST_FTDC_UOAST_Cancel: u8 = b'6';
pub const THOST_FTDC_UOACS_NoApply: u8 = b'1';
pub const THOST_FTDC_UOACS_Submited: u8 = b'2';
pub const THOST_FTDC_UOACS_Sended: u8 = b'3';
pub const THOST_FTDC_UOACS_Success: u8 = b'4';
pub const THOST_FTDC_UOACS_Refuse: u8 = b'5';
pub const THOST_FTDC_UOACS_Cancel: u8 = b'6';
pub const THOST_FTDC_QT_Radio: u8 = b'1';
pub const THOST_FTDC_QT_Option: u8 = b'2';
pub const THOST_FTDC_QT_Blank: u8 = b'3';
pub const THOST_FTDC_BT_Request: u8 = b'1';
pub const THOST_FTDC_BT_Response: u8 = b'2';
pub const THOST_FTDC_BT_Notice: u8 = b'3';
pub const THOST_FTDC_CRC_Success: u8 = b'0';
pub const THOST_FTDC_CRC_Working: u8 = b'1';
pub const THOST_FTDC_CRC_InfoFail: u8 = b'2';
pub const THOST_FTDC_CRC_IDCardFail: u8 = b'3';
pub const THOST_FTDC_CRC_OtherFail: u8 = b'4';
pub const THOST_FTDC_CfMMCCT_All: u8 = b'0';
pub const THOST_FTDC_CfMMCCT_Person: u8 = b'1';
pub const THOST_FTDC_CfMMCCT_Company: u8 = b'2';
pub const THOST_FTDC_CfMMCCT_Other: u8 = b'3';
pub const THOST_FTDC_CfMMCCT_SpecialOrgan: u8 = b'4';
pub const THOST_FTDC_CfMMCCT_Asset: u8 = b'5';
pub const THOST_FTDC_EIDT_SHFE: u8 = b'S';
pub const THOST_FTDC_EIDT_CZCE: u8 = b'Z';
pub const THOST_FTDC_EIDT_DCE: u8 = b'D';
pub const THOST_FTDC_EIDT_CFFEX: u8 = b'J';
pub const THOST_FTDC_EIDT_INE: u8 = b'N';
pub const THOST_FTDC_ECIDT_Hedge: u8 = b'1';
pub const THOST_FTDC_ECIDT_Arbitrage: u8 = b'2';
pub const THOST_FTDC_ECIDT_Speculation: u8 = b'3';
pub const THOST_FTDC_UF_NoUpdate: u8 = b'0';
pub const THOST_FTDC_UF_Success: u8 = b'1';
pub const THOST_FTDC_UF_Fail: u8 = b'2';
pub const THOST_FTDC_UF_TCSuccess: u8 = b'3';
pub const THOST_FTDC_UF_TCFail: u8 = b'4';
pub const THOST_FTDC_UF_Cancel: u8 = b'5';
pub const THOST_FTDC_AOID_OpenInvestor: u8 = b'1';
pub const THOST_FTDC_AOID_ModifyIDCard: u8 = b'2';
pub const THOST_FTDC_AOID_ModifyNoIDCard: u8 = b'3';
pub const THOST_FTDC_AOID_ApplyTradingCode: u8 = b'4';
pub const THOST_FTDC_AOID_CancelTradingCode: u8 = b'5';
pub const THOST_FTDC_AOID_CancelInvestor: u8 = b'6';
pub const THOST_FTDC_AOID_FreezeAccount: u8 = b'8';
pub const THOST_FTDC_AOID_ActiveFreezeAccount: u8 = b'9';
pub const THOST_FTDC_ASID_NoComplete: u8 = b'1';
pub const THOST_FTDC_ASID_Submited: u8 = b'2';
pub const THOST_FTDC_ASID_Checked: u8 = b'3';
pub const THOST_FTDC_ASID_Refused: u8 = b'4';
pub const THOST_FTDC_ASID_Deleted: u8 = b'5';
pub const THOST_FTDC_UOASM_ByAPI: u8 = b'1';
pub const THOST_FTDC_UOASM_ByFile: u8 = b'2';
pub const THOST_FTDC_EvM_ADD: u8 = b'1';
pub const THOST_FTDC_EvM_UPDATE: u8 = b'2';
pub const THOST_FTDC_EvM_DELETE: u8 = b'3';
pub const THOST_FTDC_EvM_CHECK: u8 = b'4';
pub const THOST_FTDC_EvM_COPY: u8 = b'5';
pub const THOST_FTDC_EvM_CANCEL: u8 = b'6';
pub const THOST_FTDC_EvM_Reverse: u8 = b'7';
pub const THOST_FTDC_UOAA_ASR: u8 = b'1';
pub const THOST_FTDC_UOAA_ASNR: u8 = b'2';
pub const THOST_FTDC_UOAA_NSAR: u8 = b'3';
pub const THOST_FTDC_UOAA_NSR: u8 = b'4';
pub const THOST_FTDC_EvM_InvestorGroupFlow: u8 = b'1';
pub const THOST_FTDC_EvM_InvestorRate: u8 = b'2';
pub const THOST_FTDC_EvM_InvestorCommRateModel: u8 = b'3';
pub const THOST_FTDC_CL_Zero: u8 = b'0';
pub const THOST_FTDC_CL_One: u8 = b'1';
pub const THOST_FTDC_CL_Two: u8 = b'2';
pub const THOST_FTDC_CHS_Init: u8 = b'0';
pub const THOST_FTDC_CHS_Checking: u8 = b'1';
pub const THOST_FTDC_CHS_Checked: u8 = b'2';
pub const THOST_FTDC_CHS_Refuse: u8 = b'3';
pub const THOST_FTDC_CHS_Cancel: u8 = b'4';
pub const THOST_FTDC_CHU_Unused: u8 = b'0';
pub const THOST_FTDC_CHU_Used: u8 = b'1';
pub const THOST_FTDC_CHU_Fail: u8 = b'2';
pub const THOST_FTDC_BAO_ByAccProperty: u8 = b'0';
pub const THOST_FTDC_BAO_ByFBTransfer: u8 = b'1';
pub const THOST_FTDC_MBTS_ByInstrument: u8 = b'0';
pub const THOST_FTDC_MBTS_ByDayInsPrc: u8 = b'1';
pub const THOST_FTDC_MBTS_ByDayIns: u8 = b'2';
pub const THOST_FTDC_OTP_NONE: u8 = b'0';
pub const THOST_FTDC_OTP_TOTP: u8 = b'1';
pub const THOST_FTDC_OTPS_Unused: u8 = b'0';
pub const THOST_FTDC_OTPS_Used: u8 = b'1';
pub const THOST_FTDC_OTPS_Disuse: u8 = b'2';
pub const THOST_FTDC_BUT_Investor: u8 = b'1';
pub const THOST_FTDC_BUT_BrokerUser: u8 = b'2';
pub const THOST_FTDC_FUTT_Commodity: u8 = b'1';
pub const THOST_FTDC_FUTT_Financial: u8 = b'2';
pub const THOST_FTDC_FET_Restriction: u8 = b'0';
pub const THOST_FTDC_FET_TodayRestriction: u8 = b'1';
pub const THOST_FTDC_FET_Transfer: u8 = b'2';
pub const THOST_FTDC_FET_Credit: u8 = b'3';
pub const THOST_FTDC_FET_InvestorWithdrawAlm: u8 = b'4';
pub const THOST_FTDC_FET_BankRestriction: u8 = b'5';
pub const THOST_FTDC_FET_Accountregister: u8 = b'6';
pub const THOST_FTDC_FET_ExchangeFundIO: u8 = b'7';
pub const THOST_FTDC_FET_InvestorFundIO: u8 = b'8';
pub const THOST_FTDC_AST_FBTransfer: u8 = b'0';
pub const THOST_FTDC_AST_ManualEntry: u8 = b'1';
pub const THOST_FTDC_CST_UnifyAccount: u8 = b'0';
pub const THOST_FTDC_CST_ManualEntry: u8 = b'1';
pub const THOST_FTDC_UR_All: u8 = b'0';
pub const THOST_FTDC_UR_Single: u8 = b'1';
pub const THOST_FTDC_BG_Investor: u8 = b'2';
pub const THOST_FTDC_BG_Group: u8 = b'1';
pub const THOST_FTDC_TSSM_Instrument: u8 = b'1';
pub const THOST_FTDC_TSSM_Product: u8 = b'2';
pub const THOST_FTDC_TSSM_Exchange: u8 = b'3';
pub const THOST_FTDC_ESM_Relative: u8 = b'1';
pub const THOST_FTDC_ESM_Typical: u8 = b'2';
pub const THOST_FTDC_RIR_All: u8 = b'1';
pub const THOST_FTDC_RIR_Model: u8 = b'2';
pub const THOST_FTDC_RIR_Single: u8 = b'3';
pub const THOST_FTDC_SDS_Initialize: u8 = b'0';
pub const THOST_FTDC_SDS_Settlementing: u8 = b'1';
pub const THOST_FTDC_SDS_Settlemented: u8 = b'2';
pub const THOST_FTDC_TSRC_NORMAL: u8 = b'0';
pub const THOST_FTDC_TSRC_QUERY: u8 = b'1';
pub const THOST_FTDC_FSM_Product: u8 = b'1';
pub const THOST_FTDC_FSM_Exchange: u8 = b'2';
pub const THOST_FTDC_FSM_All: u8 = b'3';
pub const THOST_FTDC_BIR_Property: u8 = b'1';
pub const THOST_FTDC_BIR_All: u8 = b'2';
pub const THOST_FTDC_PIR_All: u8 = b'1';
pub const THOST_FTDC_PIR_Property: u8 = b'2';
pub const THOST_FTDC_PIR_Single: u8 = b'3';
pub const THOST_FTDC_FIS_NoCreate: u8 = b'0';
pub const THOST_FTDC_FIS_Created: u8 = b'1';
pub const THOST_FTDC_FIS_Failed: u8 = b'2';
pub const THOST_FTDC_FGS_FileTransmit: u8 = b'0';
pub const THOST_FTDC_FGS_FileGen: u8 = b'1';
pub const THOST_FTDC_SoM_Add: u8 = b'1';
pub const THOST_FTDC_SoM_Update: u8 = b'2';
pub const THOST_FTDC_SoM_Delete: u8 = b'3';
pub const THOST_FTDC_SoM_Copy: u8 = b'4';
pub const THOST_FTDC_SoM_AcTive: u8 = b'5';
pub const THOST_FTDC_SoM_CanCel: u8 = b'6';
pub const THOST_FTDC_SoM_ReSet: u8 = b'7';
pub const THOST_FTDC_SoT_UpdatePassword: u8 = b'0';
pub const THOST_FTDC_SoT_UserDepartment: u8 = b'1';
pub const THOST_FTDC_SoT_RoleManager: u8 = b'2';
pub const THOST_FTDC_SoT_RoleFunction: u8 = b'3';
pub const THOST_FTDC_SoT_BaseParam: u8 = b'4';
pub const THOST_FTDC_SoT_SetUserID: u8 = b'5';
pub const THOST_FTDC_SoT_SetUserRole: u8 = b'6';
pub const THOST_FTDC_SoT_UserIpRestriction: u8 = b'7';
pub const THOST_FTDC_SoT_DepartmentManager: u8 = b'8';
pub const THOST_FTDC_SoT_DepartmentCopy: u8 = b'9';
pub const THOST_FTDC_SoT_Tradingcode: u8 = b'A';
pub const THOST_FTDC_SoT_InvestorStatus: u8 = b'B';
pub const THOST_FTDC_SoT_InvestorAuthority: u8 = b'C';
pub const THOST_FTDC_SoT_PropertySet: u8 = b'D';
pub const THOST_FTDC_SoT_ReSetInvestorPasswd: u8 = b'E';
pub const THOST_FTDC_SoT_InvestorPersonalityInfo: u8 = b'F';
pub const THOST_FTDC_CSRCQ_Current: u8 = b'0';
pub const THOST_FTDC_CSRCQ_History: u8 = b'1';
pub const THOST_FTDC_FRS_Normal: u8 = b'1';
pub const THOST_FTDC_FRS_Freeze: u8 = b'0';
pub const THOST_FTDC_STST_Standard: u8 = b'0';
pub const THOST_FTDC_STST_NonStandard: u8 = b'1';
pub const THOST_FTDC_RPT_Freeze: u8 = b'1';
pub const THOST_FTDC_RPT_FreezeActive: u8 = b'2';
pub const THOST_FTDC_RPT_OpenLimit: u8 = b'3';
pub const THOST_FTDC_RPT_RelieveOpenLimit: u8 = b'4';
pub const THOST_FTDC_AMLDS_Normal: u8 = b'0';
pub const THOST_FTDC_AMLDS_Deleted: u8 = b'1';
pub const THOST_FTDC_AMLCHS_Init: u8 = b'0';
pub const THOST_FTDC_AMLCHS_Checking: u8 = b'1';
pub const THOST_FTDC_AMLCHS_Checked: u8 = b'2';
pub const THOST_FTDC_AMLCHS_RefuseReport: u8 = b'3';
pub const THOST_FTDC_AMLDT_DrawDay: u8 = b'0';
pub const THOST_FTDC_AMLDT_TouchDay: u8 = b'1';
pub const THOST_FTDC_AMLCL_CheckLevel0: u8 = b'0';
pub const THOST_FTDC_AMLCL_CheckLevel1: u8 = b'1';
pub const THOST_FTDC_AMLCL_CheckLevel2: u8 = b'2';
pub const THOST_FTDC_AMLCL_CheckLevel3: u8 = b'3';
pub const THOST_FTDC_EFT_CSV: u8 = b'0';
pub const THOST_FTDC_EFT_EXCEL: u8 = b'1';
pub const THOST_FTDC_EFT_DBF: u8 = b'2';
pub const THOST_FTDC_SMT_Before: u8 = b'1';
pub const THOST_FTDC_SMT_Settlement: u8 = b'2';
pub const THOST_FTDC_SMT_After: u8 = b'3';
pub const THOST_FTDC_SMT_Settlemented: u8 = b'4';
pub const THOST_FTDC_SML_Must: u8 = b'1';
pub const THOST_FTDC_SML_Alarm: u8 = b'2';
pub const THOST_FTDC_SML_Prompt: u8 = b'3';
pub const THOST_FTDC_SML_Ignore: u8 = b'4';
pub const THOST_FTDC_SMG_Exhcange: u8 = b'1';
pub const THOST_FTDC_SMG_ASP: u8 = b'2';
pub const THOST_FTDC_SMG_CSRC: u8 = b'3';
pub const THOST_FTDC_LUT_Repeatable: u8 = b'1';
pub const THOST_FTDC_LUT_Unrepeatable: u8 = b'2';
pub const THOST_FTDC_DAR_Settle: u8 = b'1';
pub const THOST_FTDC_DAR_Exchange: u8 = b'2';
pub const THOST_FTDC_DAR_CSRC: u8 = b'3';
pub const THOST_FTDC_MGT_ExchMarginRate: u8 = b'0';
pub const THOST_FTDC_MGT_InstrMarginRate: u8 = b'1';
pub const THOST_FTDC_MGT_InstrMarginRateTrade: u8 = b'2';
pub const THOST_FTDC_ACT_Intraday: u8 = b'1';
pub const THOST_FTDC_ACT_Long: u8 = b'2';
pub const THOST_FTDC_MRT_Exchange: u8 = b'1';
pub const THOST_FTDC_MRT_Investor: u8 = b'2';
pub const THOST_FTDC_MRT_InvestorTrade: u8 = b'3';
pub const THOST_FTDC_BUS_UnBak: u8 = b'0';
pub const THOST_FTDC_BUS_BakUp: u8 = b'1';
pub const THOST_FTDC_BUS_BakUped: u8 = b'2';
pub const THOST_FTDC_BUS_BakFail: u8 = b'3';
pub const THOST_FTDC_SIS_UnInitialize: u8 = b'0';
pub const THOST_FTDC_SIS_Initialize: u8 = b'1';
pub const THOST_FTDC_SIS_Initialized: u8 = b'2';
pub const THOST_FTDC_SRS_NoCreate: u8 = b'0';
pub const THOST_FTDC_SRS_Create: u8 = b'1';
pub const THOST_FTDC_SRS_Created: u8 = b'2';
pub const THOST_FTDC_SRS_CreateFail: u8 = b'3';
pub const THOST_FTDC_SSS_UnSaveData: u8 = b'0';
pub const THOST_FTDC_SSS_SaveDatad: u8 = b'1';
pub const THOST_FTDC_SAS_UnArchived: u8 = b'0';
pub const THOST_FTDC_SAS_Archiving: u8 = b'1';
pub const THOST_FTDC_SAS_Archived: u8 = b'2';
pub const THOST_FTDC_SAS_ArchiveFail: u8 = b'3';
pub const THOST_FTDC_CTPT_Unkown: u8 = b'0';
pub const THOST_FTDC_CTPT_MainCenter: u8 = b'1';
pub const THOST_FTDC_CTPT_BackUp: u8 = b'2';
pub const THOST_FTDC_CDT_Normal: u8 = b'0';
pub const THOST_FTDC_CDT_SpecFirst: u8 = b'1';
pub const THOST_FTDC_MFUR_None: u8 = b'0';
pub const THOST_FTDC_MFUR_Margin: u8 = b'1';
pub const THOST_FTDC_MFUR_All: u8 = b'2';
pub const THOST_FTDC_MFUR_CNY3: u8 = b'3';
pub const THOST_FTDC_SPT_CzceHedge: u8 = b'1';
pub const THOST_FTDC_SPT_IneForeignCurrency: u8 = b'2';
pub const THOST_FTDC_SPT_DceOpenClose: u8 = b'3';
pub const THOST_FTDC_FMT_Mortgage: u8 = b'1';
pub const THOST_FTDC_FMT_Redemption: u8 = b'2';
pub const THOST_FTDC_ASPI_BaseMargin: u8 = b'1';
pub const THOST_FTDC_ASPI_LowestInterest: u8 = b'2';
pub const THOST_FTDC_FMD_In: u8 = b'1';
pub const THOST_FTDC_FMD_Out: u8 = b'2';
pub const THOST_FTDC_BT_Profit: u8 = b'0';
pub const THOST_FTDC_BT_Loss: u8 = b'1';
pub const THOST_FTDC_BT_Other: u8 = b'Z';
pub const THOST_FTDC_SST_Manual: u8 = b'0';
pub const THOST_FTDC_SST_Automatic: u8 = b'1';
pub const THOST_FTDC_CED_Settlement: u8 = b'0';
pub const THOST_FTDC_CED_Sale: u8 = b'1';
pub const THOST_FTDC_CSS_Entry: u8 = b'1';
pub const THOST_FTDC_CSS_Approve: u8 = b'2';
pub const THOST_FTDC_CSS_Refuse: u8 = b'3';
pub const THOST_FTDC_CSS_Revoke: u8 = b'4';
pub const THOST_FTDC_CSS_Send: u8 = b'5';
pub const THOST_FTDC_CSS_Success: u8 = b'6';
pub const THOST_FTDC_CSS_Failure: u8 = b'7';
pub const THOST_FTDC_REQF_NoSend: u8 = b'0';
pub const THOST_FTDC_REQF_SendSuccess: u8 = b'1';
pub const THOST_FTDC_REQF_SendFailed: u8 = b'2';
pub const THOST_FTDC_REQF_WaitReSend: u8 = b'3';
pub const THOST_FTDC_RESF_Success: u8 = b'0';
pub const THOST_FTDC_RESF_InsuffiCient: u8 = b'1';
pub const THOST_FTDC_RESF_UnKnown: u8 = b'8';
pub const THOST_FTDC_EXS_Before: u8 = b'0';
pub const THOST_FTDC_EXS_After: u8 = b'1';
pub const THOST_FTDC_CR_Domestic: u8 = b'1';
pub const THOST_FTDC_CR_GMT: u8 = b'2';
pub const THOST_FTDC_CR_Foreign: u8 = b'3';
pub const THOST_FTDC_HB_No: u8 = b'0';
pub const THOST_FTDC_HB_Yes: u8 = b'1';
pub const THOST_FTDC_SM_Normal: u8 = b'1';
pub const THOST_FTDC_SM_Emerge: u8 = b'2';
pub const THOST_FTDC_SM_Restore: u8 = b'3';
pub const THOST_FTDC_TPT_Full: u8 = b'1';
pub const THOST_FTDC_TPT_Increment: u8 = b'2';
pub const THOST_FTDC_TPT_BackUp: u8 = b'3';
pub const THOST_FTDC_LM_Trade: u8 = b'0';
pub const THOST_FTDC_LM_Transfer: u8 = b'1';
pub const THOST_FTDC_CPT_Instrument: u8 = b'1';
pub const THOST_FTDC_CPT_Margin: u8 = b'2';
pub const THOST_FTDC_HT_Yes: u8 = b'1';
pub const THOST_FTDC_HT_No: u8 = b'0';
pub const THOST_FTDC_AMT_Bank: u8 = b'1';
pub const THOST_FTDC_AMT_Securities: u8 = b'2';
pub const THOST_FTDC_AMT_Fund: u8 = b'3';
pub const THOST_FTDC_AMT_Insurance: u8 = b'4';
pub const THOST_FTDC_AMT_Trust: u8 = b'5';
pub const THOST_FTDC_AMT_Other: u8 = b'9';
pub const THOST_FTDC_CFIOT_FundIO: u8 = b'0';
pub const THOST_FTDC_CFIOT_SwapCurrency: u8 = b'1';
pub const THOST_FTDC_CAT_Futures: u8 = b'1';
pub const THOST_FTDC_CAT_AssetmgrFuture: u8 = b'2';
pub const THOST_FTDC_CAT_AssetmgrTrustee: u8 = b'3';
pub const THOST_FTDC_CAT_AssetmgrTransfer: u8 = b'4';
pub const THOST_FTDC_LT_Chinese: u8 = b'1';
pub const THOST_FTDC_LT_English: u8 = b'2';
pub const THOST_FTDC_AMCT_Person: u8 = b'1';
pub const THOST_FTDC_AMCT_Organ: u8 = b'2';
pub const THOST_FTDC_AMCT_SpecialOrgan: u8 = b'4';
pub const THOST_FTDC_ASST_Futures: u8 = b'3';
pub const THOST_FTDC_ASST_SpecialOrgan: u8 = b'4';
pub const THOST_FTDC_CIT_HasExch: u8 = b'0';
pub const THOST_FTDC_CIT_HasATP: u8 = b'1';
pub const THOST_FTDC_CIT_HasDiff: u8 = b'2';
pub const THOST_FTDC_DT_HandDeliv: u8 = b'1';
pub const THOST_FTDC_DT_PersonDeliv: u8 = b'2';
pub const THOST_FTDC_MMSA_NO: u8 = b'0';
pub const THOST_FTDC_MMSA_YES: u8 = b'1';
pub const THOST_FTDC_CACT_Person: u8 = b'0';
pub const THOST_FTDC_CACT_Company: u8 = b'1';
pub const THOST_FTDC_CACT_Other: u8 = b'2';
pub const THOST_FTDC_UOAAT_Futures: u8 = b'1';
pub const THOST_FTDC_UOAAT_SpecialOrgan: u8 = b'2';
pub const THOST_FTDC_DEN_Buy: u8 = b'0';
pub const THOST_FTDC_DEN_Sell: u8 = b'1';
pub const THOST_FTDC_OFEN_Open: u8 = b'0';
pub const THOST_FTDC_OFEN_Close: u8 = b'1';
pub const THOST_FTDC_OFEN_ForceClose: u8 = b'2';
pub const THOST_FTDC_OFEN_CloseToday: u8 = b'3';
pub const THOST_FTDC_OFEN_CloseYesterday: u8 = b'4';
pub const THOST_FTDC_OFEN_ForceOff: u8 = b'5';
pub const THOST_FTDC_OFEN_LocalForceClose: u8 = b'6';
pub const THOST_FTDC_HFEN_Speculation: u8 = b'1';
pub const THOST_FTDC_HFEN_Arbitrage: u8 = b'2';
pub const THOST_FTDC_HFEN_Hedge: u8 = b'3';
pub const THOST_FTDC_FIOTEN_FundIO: u8 = b'1';
pub const THOST_FTDC_FIOTEN_Transfer: u8 = b'2';
pub const THOST_FTDC_FIOTEN_SwapCurrency: u8 = b'3';
pub const THOST_FTDC_FTEN_Deposite: u8 = b'1';
pub const THOST_FTDC_FTEN_ItemFund: u8 = b'2';
pub const THOST_FTDC_FTEN_Company: u8 = b'3';
pub const THOST_FTDC_FTEN_InnerTransfer: u8 = b'4';
pub const THOST_FTDC_FDEN_In: u8 = b'1';
pub const THOST_FTDC_FDEN_Out: u8 = b'2';
pub const THOST_FTDC_FMDEN_In: u8 = b'1';
pub const THOST_FTDC_FMDEN_Out: u8 = b'2';
pub const THOST_FTDC_CP_CallOptions: u8 = b'1';
pub const THOST_FTDC_CP_PutOptions: u8 = b'2';
pub const THOST_FTDC_STM_Continental: u8 = b'0';
pub const THOST_FTDC_STM_American: u8 = b'1';
pub const THOST_FTDC_STM_Bermuda: u8 = b'2';
pub const THOST_FTDC_STT_Hedge: u8 = b'0';
pub const THOST_FTDC_STT_Match: u8 = b'1';
pub const THOST_FTDC_APPT_NotStrikeNum: u8 = b'4';
pub const THOST_FTDC_GUDS_Gen: u8 = b'0';
pub const THOST_FTDC_GUDS_Hand: u8 = b'1';
pub const THOST_FTDC_OER_NoExec: u8 = b'n';
pub const THOST_FTDC_OER_Canceled: u8 = b'c';
pub const THOST_FTDC_OER_OK: u8 = b'0';
pub const THOST_FTDC_OER_NoPosition: u8 = b'1';
pub const THOST_FTDC_OER_NoDeposit: u8 = b'2';
pub const THOST_FTDC_OER_NoParticipant: u8 = b'3';
pub const THOST_FTDC_OER_NoClient: u8 = b'4';
pub const THOST_FTDC_OER_NoInstrument: u8 = b'6';
pub const THOST_FTDC_OER_NoRight: u8 = b'7';
pub const THOST_FTDC_OER_InvalidVolume: u8 = b'8';
pub const THOST_FTDC_OER_NoEnoughHistoryTrade: u8 = b'9';
pub const THOST_FTDC_OER_Unknown: u8 = b'a';
pub const THOST_FTDC_COMBT_Future: u8 = b'0';
pub const THOST_FTDC_COMBT_BUL: u8 = b'1';
pub const THOST_FTDC_COMBT_BER: u8 = b'2';
pub const THOST_FTDC_COMBT_STD: u8 = b'3';
pub const THOST_FTDC_COMBT_STG: u8 = b'4';
pub const THOST_FTDC_COMBT_PRT: u8 = b'5';
pub const THOST_FTDC_COMBT_CLD: u8 = b'6';
pub const THOST_FTDC_DCECOMBT_SPL: u8 = b'0';
pub const THOST_FTDC_DCECOMBT_OPL: u8 = b'1';
pub const THOST_FTDC_DCECOMBT_SP: u8 = b'2';
pub const THOST_FTDC_DCECOMBT_SPC: u8 = b'3';
pub const THOST_FTDC_DCECOMBT_BLS: u8 = b'4';
pub const THOST_FTDC_DCECOMBT_BES: u8 = b'5';
pub const THOST_FTDC_DCECOMBT_CAS: u8 = b'6';
pub const THOST_FTDC_DCECOMBT_STD: u8 = b'7';
pub const THOST_FTDC_DCECOMBT_STG: u8 = b'8';
pub const THOST_FTDC_DCECOMBT_BFO: u8 = b'9';
pub const THOST_FTDC_DCECOMBT_SFO: u8 = b'a';
pub const THOST_FTDC_ORPT_PreSettlementPrice: u8 = b'1';
pub const THOST_FTDC_ORPT_OpenPrice: u8 = b'4';
pub const THOST_FTDC_ORPT_MaxPreSettlementPrice: u8 = b'5';
pub const THOST_FTDC_BLAG_Default: u8 = b'1';
pub const THOST_FTDC_BLAG_IncludeOptValLost: u8 = b'2';
pub const THOST_FTDC_ACTP_Exec: u8 = b'1';
pub const THOST_FTDC_ACTP_Abandon: u8 = b'2';
pub const THOST_FTDC_FQST_Submitted: u8 = b'a';
pub const THOST_FTDC_FQST_Accepted: u8 = b'b';
pub const THOST_FTDC_FQST_Rejected: u8 = b'c';
pub const THOST_FTDC_VM_Absolute: u8 = b'0';
pub const THOST_FTDC_VM_Ratio: u8 = b'1';
pub const THOST_FTDC_EOPF_Reserve: u8 = b'0';
pub const THOST_FTDC_EOPF_UnReserve: u8 = b'1';
pub const THOST_FTDC_EOCF_AutoClose: u8 = b'0';
pub const THOST_FTDC_EOCF_NotToClose: u8 = b'1';
pub const THOST_FTDC_PTE_Futures: u8 = b'1';
pub const THOST_FTDC_PTE_Options: u8 = b'2';
pub const THOST_FTDC_CUFN_CUFN_O: u8 = b'O';
pub const THOST_FTDC_CUFN_CUFN_T: u8 = b'T';
pub const THOST_FTDC_CUFN_CUFN_P: u8 = b'P';
pub const THOST_FTDC_CUFN_CUFN_N: u8 = b'N';
pub const THOST_FTDC_CUFN_CUFN_L: u8 = b'L';
pub const THOST_FTDC_CUFN_CUFN_F: u8 = b'F';
pub const THOST_FTDC_CUFN_CUFN_C: u8 = b'C';
pub const THOST_FTDC_CUFN_CUFN_M: u8 = b'M';
pub const THOST_FTDC_DUFN_DUFN_O: u8 = b'O';
pub const THOST_FTDC_DUFN_DUFN_T: u8 = b'T';
pub const THOST_FTDC_DUFN_DUFN_P: u8 = b'P';
pub const THOST_FTDC_DUFN_DUFN_F: u8 = b'F';
pub const THOST_FTDC_DUFN_DUFN_C: u8 = b'C';
pub const THOST_FTDC_DUFN_DUFN_D: u8 = b'D';
pub const THOST_FTDC_DUFN_DUFN_M: u8 = b'M';
pub const THOST_FTDC_DUFN_DUFN_S: u8 = b'S';
pub const THOST_FTDC_SUFN_SUFN_O: u8 = b'O';
pub const THOST_FTDC_SUFN_SUFN_T: u8 = b'T';
pub const THOST_FTDC_SUFN_SUFN_P: u8 = b'P';
pub const THOST_FTDC_SUFN_SUFN_F: u8 = b'F';
pub const THOST_FTDC_CFUFN_SUFN_T: u8 = b'T';
pub const THOST_FTDC_CFUFN_SUFN_P: u8 = b'P';
pub const THOST_FTDC_CFUFN_SUFN_F: u8 = b'F';
pub const THOST_FTDC_CFUFN_SUFN_S: u8 = b'S';
pub const THOST_FTDC_CMDR_Comb: u8 = b'0';
pub const THOST_FTDC_CMDR_UnComb: u8 = b'1';
pub const THOST_FTDC_STOV_RealValue: u8 = b'1';
pub const THOST_FTDC_STOV_ProfitValue: u8 = b'2';
pub const THOST_FTDC_STOV_RealRatio: u8 = b'3';
pub const THOST_FTDC_STOV_ProfitRatio: u8 = b'4';
pub const THOST_FTDC_ROAST_Processing: u8 = b'0';
pub const THOST_FTDC_ROAST_Cancelled: u8 = b'1';
pub const THOST_FTDC_ROAST_Opened: u8 = b'2';
pub const THOST_FTDC_ROAST_Invalid: u8 = b'3';
pub const THOST_FTDC_WPSR_Lib: u8 = b'1';
pub const THOST_FTDC_WPSR_Manual: u8 = b'2';
pub const THOST_FTDC_OSCF_CloseSelfOptionPosition: u8 = b'1';
pub const THOST_FTDC_OSCF_ReserveOptionPosition: u8 = b'2';
pub const THOST_FTDC_OSCF_SellCloseSelfFuturePosition: u8 = b'3';
pub const THOST_FTDC_OSCF_ReserveFuturePosition: u8 = b'4';
pub const THOST_FTDC_BZTP_Future: u8 = b'1';
pub const THOST_FTDC_BZTP_Stock: u8 = b'2';
pub const THOST_FTDC_APP_TYPE_Investor: u8 = b'1';
pub const THOST_FTDC_APP_TYPE_InvestorRelay: u8 = b'2';
pub const THOST_FTDC_APP_TYPE_OperatorRelay: u8 = b'3';
pub const THOST_FTDC_APP_TYPE_UnKnown: u8 = b'4';
pub const THOST_FTDC_RV_Right: u8 = b'0';
pub const THOST_FTDC_RV_Refuse: u8 = b'1';
pub const THOST_FTDC_OTC_TRDT_Block: u8 = b'0';
pub const THOST_FTDC_OTC_TRDT_EFP: u8 = b'1';
pub const THOST_FTDC_OTC_MT_DV01: u8 = b'1';
pub const THOST_FTDC_OTC_MT_ParValue: u8 = b'2';
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum THOST_TE_RESUME_TYPE {
THOST_TERT_RESTART = 0,
THOST_TERT_RESUME = 1,
THOST_TERT_QUICK = 2,
}
///
/// TFtdcTraderIDType是一个交易所交易员代码类型
///
pub type TThostFtdcTraderIDType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcInvestorIDType是一个投资者代码类型
///
pub type TThostFtdcInvestorIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcBrokerIDType是一个经纪公司代码类型
///
pub type TThostFtdcBrokerIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcBrokerAbbrType是一个经纪公司简称类型
///
pub type TThostFtdcBrokerAbbrType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcBrokerNameType是一个经纪公司名称类型
///
pub type TThostFtdcBrokerNameType = [::std::os::raw::c_uchar; 81usize];
///
/// TFtdcExchangeInstIDType是一个合约在交易所的代码类型
///
pub type TThostFtdcExchangeInstIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcOrderRefType是一个报单引用类型
///
pub type TThostFtdcOrderRefType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcParticipantIDType是一个会员代码类型
///
pub type TThostFtdcParticipantIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcUserIDType是一个用户代码类型
///
pub type TThostFtdcUserIDType = [::std::os::raw::c_uchar; 16usize];
///
/// TFtdcPasswordType是一个密码类型
///
pub type TThostFtdcPasswordType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcClientIDType是一个交易编码类型
///
pub type TThostFtdcClientIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcInstrumentIDType是一个合约代码类型
///
pub type TThostFtdcInstrumentIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcInstrumentCodeType是一个合约标识码类型
///
pub type TThostFtdcInstrumentCodeType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcMarketIDType是一个市场代码类型
///
pub type TThostFtdcMarketIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcProductNameType是一个产品名称类型
///
pub type TThostFtdcProductNameType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcExchangeIDType是一个交易所代码类型
///
pub type TThostFtdcExchangeIDType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcExchangeNameType是一个交易所名称类型
///
pub type TThostFtdcExchangeNameType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcExchangeAbbrType是一个交易所简称类型
///
pub type TThostFtdcExchangeAbbrType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcExchangeFlagType是一个交易所标志类型
///
pub type TThostFtdcExchangeFlagType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcMacAddressType是一个Mac地址类型
///
pub type TThostFtdcMacAddressType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcSystemIDType是一个系统编号类型
///
pub type TThostFtdcSystemIDType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcExchangePropertyType = ::std::os::raw::c_uchar;
///
/// TFtdcDateType是一个日期类型
///
pub type TThostFtdcDateType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcTimeType是一个时间类型
///
pub type TThostFtdcTimeType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcLongTimeType是一个长时间类型
///
pub type TThostFtdcLongTimeType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcInstrumentNameType是一个合约名称类型
///
pub type TThostFtdcInstrumentNameType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcSettlementGroupIDType是一个结算组代码类型
///
pub type TThostFtdcSettlementGroupIDType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcOrderSysIDType是一个报单编号类型
///
pub type TThostFtdcOrderSysIDType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcTradeIDType是一个成交编号类型
///
pub type TThostFtdcTradeIDType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcCommandTypeType是一个DB命令类型类型
///
pub type TThostFtdcCommandTypeType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcIPAddressType是一个IP地址类型
///
pub type TThostFtdcIPAddressType = [::std::os::raw::c_uchar; 16usize];
///
/// TFtdcIPPortType是一个IP端口类型
///
pub type TThostFtdcIPPortType = ::std::os::raw::c_int;
///
/// TFtdcProductInfoType是一个产品信息类型
///
pub type TThostFtdcProductInfoType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcProtocolInfoType是一个协议信息类型
///
pub type TThostFtdcProtocolInfoType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcBusinessUnitType是一个业务单元类型
///
pub type TThostFtdcBusinessUnitType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcDepositSeqNoType是一个出入金流水号类型
///
pub type TThostFtdcDepositSeqNoType = [::std::os::raw::c_uchar; 15usize];
///
/// TFtdcIdentifiedCardNoType是一个证件号码类型
///
pub type TThostFtdcIdentifiedCardNoType = [::std::os::raw::c_uchar; 51usize];
pub type TThostFtdcIdCardTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcOrderLocalIDType是一个本地报单编号类型
///
pub type TThostFtdcOrderLocalIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcUserNameType是一个用户名称类型
///
pub type TThostFtdcUserNameType = [::std::os::raw::c_uchar; 81usize];
///
/// TFtdcPartyNameType是一个参与人名称类型
///
pub type TThostFtdcPartyNameType = [::std::os::raw::c_uchar; 81usize];
///
/// TFtdcErrorMsgType是一个错误信息类型
///
pub type TThostFtdcErrorMsgType = [::std::os::raw::c_uchar; 81usize];
///
/// TFtdcFieldNameType是一个字段名类型
///
pub type TThostFtdcFieldNameType = [::std::os::raw::c_uchar; 2049usize];
///
/// TFtdcFieldContentType是一个字段内容类型
///
pub type TThostFtdcFieldContentType = [::std::os::raw::c_uchar; 2049usize];
///
/// TFtdcSystemNameType是一个系统名称类型
///
pub type TThostFtdcSystemNameType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcContentType是一个消息正文类型
///
pub type TThostFtdcContentType = [::std::os::raw::c_uchar; 501usize];
pub type TThostFtdcInvestorRangeType = ::std::os::raw::c_uchar;
pub type TThostFtdcDepartmentRangeType = ::std::os::raw::c_uchar;
pub type TThostFtdcDataSyncStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcBrokerDataSyncStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcExchangeConnectStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcTraderConnectStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcFunctionCodeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBrokerFunctionCodeType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrderActionStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrderStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrderSubmitStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcPositionDateType = ::std::os::raw::c_uchar;
pub type TThostFtdcPositionDateTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcTradingRoleType = ::std::os::raw::c_uchar;
pub type TThostFtdcProductClassType = ::std::os::raw::c_uchar;
pub type TThostFtdcInstLifePhaseType = ::std::os::raw::c_uchar;
pub type TThostFtdcDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcPositionTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcPosiDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcSysSettlementStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcRatioAttrType = ::std::os::raw::c_uchar;
pub type TThostFtdcHedgeFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcBillHedgeFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcClientIDTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrderPriceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcOffsetFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcForceCloseReasonType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrderTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcTimeConditionType = ::std::os::raw::c_uchar;
pub type TThostFtdcVolumeConditionType = ::std::os::raw::c_uchar;
pub type TThostFtdcContingentConditionType = ::std::os::raw::c_uchar;
pub type TThostFtdcActionFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcTradingRightType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrderSourceType = ::std::os::raw::c_uchar;
pub type TThostFtdcTradeTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcPriceSourceType = ::std::os::raw::c_uchar;
pub type TThostFtdcInstrumentStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcInstStatusEnterReasonType = ::std::os::raw::c_uchar;
///
/// TFtdcOrderActionRefType是一个报单操作引用类型
///
pub type TThostFtdcOrderActionRefType = ::std::os::raw::c_int;
///
/// TFtdcInstallCountType是一个安装数量类型
///
pub type TThostFtdcInstallCountType = ::std::os::raw::c_int;
///
/// TFtdcInstallIDType是一个安装编号类型
///
pub type TThostFtdcInstallIDType = ::std::os::raw::c_int;
///
/// TFtdcErrorIDType是一个错误代码类型
///
pub type TThostFtdcErrorIDType = ::std::os::raw::c_int;
///
/// TFtdcSettlementIDType是一个结算编号类型
///
pub type TThostFtdcSettlementIDType = ::std::os::raw::c_int;
///
/// TFtdcVolumeType是一个数量类型
///
pub type TThostFtdcVolumeType = ::std::os::raw::c_int;
///
/// TFtdcFrontIDType是一个前置编号类型
///
pub type TThostFtdcFrontIDType = ::std::os::raw::c_int;
///
/// TFtdcSessionIDType是一个会话编号类型
///
pub type TThostFtdcSessionIDType = ::std::os::raw::c_int;
///
/// TFtdcSequenceNoType是一个序号类型
///
pub type TThostFtdcSequenceNoType = ::std::os::raw::c_int;
///
/// TFtdcCommandNoType是一个DB命令序号类型
///
pub type TThostFtdcCommandNoType = ::std::os::raw::c_int;
///
/// TFtdcMillisecType是一个时间(毫秒)类型
///
pub type TThostFtdcMillisecType = ::std::os::raw::c_int;
///
/// TFtdcVolumeMultipleType是一个合约数量乘数类型
///
pub type TThostFtdcVolumeMultipleType = ::std::os::raw::c_int;
///
/// TFtdcTradingSegmentSNType是一个交易阶段编号类型
///
pub type TThostFtdcTradingSegmentSNType = ::std::os::raw::c_int;
///
/// TFtdcRequestIDType是一个请求编号类型
///
pub type TThostFtdcRequestIDType = ::std::os::raw::c_int;
///
/// TFtdcYearType是一个年份类型
///
pub type TThostFtdcYearType = ::std::os::raw::c_int;
///
/// TFtdcMonthType是一个月份类型
///
pub type TThostFtdcMonthType = ::std::os::raw::c_int;
///
/// TFtdcBoolType是一个布尔型类型
///
pub type TThostFtdcBoolType = ::std::os::raw::c_int;
///
/// TFtdcPriceType是一个价格类型
///
pub type TThostFtdcPriceType = f64;
///
/// TFtdcCombOffsetFlagType是一个组合开平标志类型
///
pub type TThostFtdcCombOffsetFlagType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcCombHedgeFlagType是一个组合投机套保标志类型
///
pub type TThostFtdcCombHedgeFlagType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcRatioType是一个比率类型
///
pub type TThostFtdcRatioType = f64;
///
/// TFtdcMoneyType是一个资金类型
///
pub type TThostFtdcMoneyType = f64;
///
/// TFtdcLargeVolumeType是一个大额数量类型
///
pub type TThostFtdcLargeVolumeType = f64;
///
/// TFtdcSequenceSeriesType是一个序列系列号类型
///
pub type TThostFtdcSequenceSeriesType = ::std::os::raw::c_short;
///
/// TFtdcCommPhaseNoType是一个通讯时段编号类型
///
pub type TThostFtdcCommPhaseNoType = ::std::os::raw::c_short;
///
/// TFtdcSequenceLabelType是一个序列编号类型
///
pub type TThostFtdcSequenceLabelType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcUnderlyingMultipleType是一个基础商品乘数类型
///
pub type TThostFtdcUnderlyingMultipleType = f64;
///
/// TFtdcPriorityType是一个优先级类型
///
pub type TThostFtdcPriorityType = ::std::os::raw::c_int;
///
/// TFtdcContractCodeType是一个合同编号类型
///
pub type TThostFtdcContractCodeType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcCityType是一个市类型
///
pub type TThostFtdcCityType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcIsStockType是一个是否股民类型
///
pub type TThostFtdcIsStockType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcChannelType是一个渠道类型
///
pub type TThostFtdcChannelType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcAddressType是一个通讯地址类型
///
pub type TThostFtdcAddressType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcZipCodeType是一个邮政编码类型
///
pub type TThostFtdcZipCodeType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcTelephoneType是一个联系电话类型
///
pub type TThostFtdcTelephoneType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcFaxType是一个传真类型
///
pub type TThostFtdcFaxType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcMobileType是一个手机类型
///
pub type TThostFtdcMobileType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcEMailType是一个电子邮件类型
///
pub type TThostFtdcEMailType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcMemoType是一个备注类型
///
pub type TThostFtdcMemoType = [::std::os::raw::c_uchar; 161usize];
///
/// TFtdcCompanyCodeType是一个企业代码类型
///
pub type TThostFtdcCompanyCodeType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcWebsiteType是一个网站地址类型
///
pub type TThostFtdcWebsiteType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcTaxNoType是一个税务登记号类型
///
pub type TThostFtdcTaxNoType = [::std::os::raw::c_uchar; 31usize];
pub type TThostFtdcBatchStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcPropertyIDType是一个属性代码类型
///
pub type TThostFtdcPropertyIDType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcPropertyNameType是一个属性名称类型
///
pub type TThostFtdcPropertyNameType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcLicenseNoType是一个营业执照号类型
///
pub type TThostFtdcLicenseNoType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcAgentIDType是一个经纪人代码类型
///
pub type TThostFtdcAgentIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcAgentNameType是一个经纪人名称类型
///
pub type TThostFtdcAgentNameType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcAgentGroupIDType是一个经纪人组代码类型
///
pub type TThostFtdcAgentGroupIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcAgentGroupNameType是一个经纪人组名称类型
///
pub type TThostFtdcAgentGroupNameType = [::std::os::raw::c_uchar; 41usize];
pub type TThostFtdcReturnStyleType = ::std::os::raw::c_uchar;
pub type TThostFtdcReturnPatternType = ::std::os::raw::c_uchar;
pub type TThostFtdcReturnLevelType = ::std::os::raw::c_uchar;
pub type TThostFtdcReturnStandardType = ::std::os::raw::c_uchar;
pub type TThostFtdcMortgageTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcInvestorSettlementParamIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcExchangeSettlementParamIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcSystemParamIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcTradeParamIDType = ::std::os::raw::c_uchar;
///
/// TFtdcSettlementParamValueType是一个参数代码值类型
///
pub type TThostFtdcSettlementParamValueType =
[::std::os::raw::c_uchar; 256usize];
///
/// TFtdcCounterIDType是一个计数器代码类型
///
pub type TThostFtdcCounterIDType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcInvestorGroupNameType是一个投资者分组名称类型
///
pub type TThostFtdcInvestorGroupNameType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcBrandCodeType是一个牌号类型
///
pub type TThostFtdcBrandCodeType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcWarehouseType是一个仓库类型
///
pub type TThostFtdcWarehouseType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcProductDateType是一个产期类型
///
pub type TThostFtdcProductDateType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcGradeType是一个等级类型
///
pub type TThostFtdcGradeType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcClassifyType是一个类别类型
///
pub type TThostFtdcClassifyType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcPositionType是一个货位类型
///
pub type TThostFtdcPositionType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcYieldlyType是一个产地类型
///
pub type TThostFtdcYieldlyType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcWeightType是一个公定重量类型
///
pub type TThostFtdcWeightType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcSubEntryFundNoType是一个分项资金流水号类型
///
pub type TThostFtdcSubEntryFundNoType = ::std::os::raw::c_int;
pub type TThostFtdcFileIDType = ::std::os::raw::c_uchar;
///
/// TFtdcFileNameType是一个文件名称类型
///
pub type TThostFtdcFileNameType = [::std::os::raw::c_uchar; 257usize];
pub type TThostFtdcFileTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFileFormatType = ::std::os::raw::c_uchar;
pub type TThostFtdcFileUploadStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcTransferDirectionType = ::std::os::raw::c_uchar;
///
/// TFtdcUploadModeType是一个上传文件类型类型
///
pub type TThostFtdcUploadModeType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcAccountIDType是一个投资者帐号类型
///
pub type TThostFtdcAccountIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcBankFlagType是一个银行统一标识类型类型
///
pub type TThostFtdcBankFlagType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcBankAccountType是一个银行账户类型
///
pub type TThostFtdcBankAccountType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcOpenNameType是一个银行账户的开户人名称类型
///
pub type TThostFtdcOpenNameType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcOpenBankType是一个银行账户的开户行类型
///
pub type TThostFtdcOpenBankType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcBankNameType是一个银行名称类型
///
pub type TThostFtdcBankNameType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcPublishPathType是一个发布路径类型
///
pub type TThostFtdcPublishPathType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcOperatorIDType是一个操作员代码类型
///
pub type TThostFtdcOperatorIDType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcMonthCountType是一个月份数量类型
///
pub type TThostFtdcMonthCountType = ::std::os::raw::c_int;
///
/// TFtdcAdvanceMonthArrayType是一个月份提前数组类型
///
pub type TThostFtdcAdvanceMonthArrayType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcDateExprType是一个日期表达式类型
///
pub type TThostFtdcDateExprType = [::std::os::raw::c_uchar; 1025usize];
///
/// TFtdcInstrumentIDExprType是一个合约代码表达式类型
///
pub type TThostFtdcInstrumentIDExprType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcInstrumentNameExprType是一个合约名称表达式类型
///
pub type TThostFtdcInstrumentNameExprType = [::std::os::raw::c_uchar; 41usize];
pub type TThostFtdcSpecialCreateRuleType = ::std::os::raw::c_uchar;
pub type TThostFtdcBasisPriceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcProductLifePhaseType = ::std::os::raw::c_uchar;
pub type TThostFtdcDeliveryModeType = ::std::os::raw::c_uchar;
///
/// TFtdcLogLevelType是一个日志级别类型
///
pub type TThostFtdcLogLevelType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcProcessNameType是一个存储过程名称类型
///
pub type TThostFtdcProcessNameType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcOperationMemoType是一个操作摘要类型
///
pub type TThostFtdcOperationMemoType = [::std::os::raw::c_uchar; 1025usize];
pub type TThostFtdcFundIOTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcBillNoType是一个票据号类型
///
pub type TThostFtdcBillNoType = [::std::os::raw::c_uchar; 15usize];
///
/// TFtdcBillNameType是一个票据名称类型
///
pub type TThostFtdcBillNameType = [::std::os::raw::c_uchar; 33usize];
pub type TThostFtdcPublishStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcEnumValueIDType是一个枚举值代码类型
///
pub type TThostFtdcEnumValueIDType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcEnumValueTypeType是一个枚举值类型类型
///
pub type TThostFtdcEnumValueTypeType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcEnumValueLabelType是一个枚举值名称类型
///
pub type TThostFtdcEnumValueLabelType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcEnumValueResultType是一个枚举值结果类型
///
pub type TThostFtdcEnumValueResultType = [::std::os::raw::c_uchar; 33usize];
pub type TThostFtdcSystemStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcSettlementStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcRangeIntTypeType是一个限定值类型类型
///
pub type TThostFtdcRangeIntTypeType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcRangeIntFromType是一个限定值下限类型
///
pub type TThostFtdcRangeIntFromType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcRangeIntToType是一个限定值上限类型
///
pub type TThostFtdcRangeIntToType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcFunctionIDType是一个功能代码类型
///
pub type TThostFtdcFunctionIDType = [::std::os::raw::c_uchar; 25usize];
///
/// TFtdcFunctionValueCodeType是一个功能编码类型
///
pub type TThostFtdcFunctionValueCodeType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcFunctionNameType是一个功能名称类型
///
pub type TThostFtdcFunctionNameType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcRoleIDType是一个角色编号类型
///
pub type TThostFtdcRoleIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcRoleNameType是一个角色名称类型
///
pub type TThostFtdcRoleNameType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcDescriptionType是一个描述类型
///
pub type TThostFtdcDescriptionType = [::std::os::raw::c_uchar; 401usize];
///
/// TFtdcCombineIDType是一个组合编号类型
///
pub type TThostFtdcCombineIDType = [::std::os::raw::c_uchar; 25usize];
///
/// TFtdcCombineTypeType是一个组合类型类型
///
pub type TThostFtdcCombineTypeType = [::std::os::raw::c_uchar; 25usize];
pub type TThostFtdcInvestorTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBrokerTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcRiskLevelType = ::std::os::raw::c_uchar;
pub type TThostFtdcFeeAcceptStyleType = ::std::os::raw::c_uchar;
pub type TThostFtdcPasswordTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcAlgorithmType = ::std::os::raw::c_uchar;
pub type TThostFtdcIncludeCloseProfitType = ::std::os::raw::c_uchar;
pub type TThostFtdcAllWithoutTradeType = ::std::os::raw::c_uchar;
///
/// TFtdcCommentType是一个盈亏算法说明类型
///
pub type TThostFtdcCommentType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcVersionType是一个版本号类型
///
pub type TThostFtdcVersionType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcTradeCodeType是一个交易代码类型
///
pub type TThostFtdcTradeCodeType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcTradeDateType是一个交易日期类型
///
pub type TThostFtdcTradeDateType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcTradeTimeType是一个交易时间类型
///
pub type TThostFtdcTradeTimeType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcTradeSerialType是一个发起方流水号类型
///
pub type TThostFtdcTradeSerialType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcTradeSerialNoType是一个发起方流水号类型
///
pub type TThostFtdcTradeSerialNoType = ::std::os::raw::c_int;
///
/// TFtdcFutureIDType是一个期货公司代码类型
///
pub type TThostFtdcFutureIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcBankIDType是一个银行代码类型
///
pub type TThostFtdcBankIDType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcBankBrchIDType是一个银行分中心代码类型
///
pub type TThostFtdcBankBrchIDType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcBankBranchIDType是一个分中心代码类型
///
pub type TThostFtdcBankBranchIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcOperNoType是一个交易柜员类型
///
pub type TThostFtdcOperNoType = [::std::os::raw::c_uchar; 17usize];
///
/// TFtdcDeviceIDType是一个渠道标志类型
///
pub type TThostFtdcDeviceIDType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcRecordNumType是一个记录数类型
///
pub type TThostFtdcRecordNumType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcFutureAccountType是一个期货资金账号类型
///
pub type TThostFtdcFutureAccountType = [::std::os::raw::c_uchar; 22usize];
pub type TThostFtdcFuturePwdFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcTransferTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcFutureAccPwdType是一个期货资金密码类型
///
pub type TThostFtdcFutureAccPwdType = [::std::os::raw::c_uchar; 17usize];
///
/// TFtdcCurrencyCodeType是一个币种类型
///
pub type TThostFtdcCurrencyCodeType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcRetCodeType是一个响应代码类型
///
pub type TThostFtdcRetCodeType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcRetInfoType是一个响应信息类型
///
pub type TThostFtdcRetInfoType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcTradeAmtType是一个银行总余额类型
///
pub type TThostFtdcTradeAmtType = [::std::os::raw::c_uchar; 20usize];
///
/// TFtdcUseAmtType是一个银行可用余额类型
///
pub type TThostFtdcUseAmtType = [::std::os::raw::c_uchar; 20usize];
///
/// TFtdcFetchAmtType是一个银行可取余额类型
///
pub type TThostFtdcFetchAmtType = [::std::os::raw::c_uchar; 20usize];
pub type TThostFtdcTransferValidFlagType = ::std::os::raw::c_uchar;
///
/// TFtdcCertCodeType是一个证件号码类型
///
pub type TThostFtdcCertCodeType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcReasonType = ::std::os::raw::c_uchar;
///
/// TFtdcFundProjectIDType是一个资金项目编号类型
///
pub type TThostFtdcFundProjectIDType = [::std::os::raw::c_uchar; 5usize];
pub type TThostFtdcSexType = ::std::os::raw::c_uchar;
///
/// TFtdcProfessionType是一个职业类型
///
pub type TThostFtdcProfessionType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcNationalType是一个国籍类型
///
pub type TThostFtdcNationalType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcProvinceType是一个省类型
///
pub type TThostFtdcProvinceType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcRegionType是一个区类型
///
pub type TThostFtdcRegionType = [::std::os::raw::c_uchar; 16usize];
///
/// TFtdcCountryType是一个国家类型
///
pub type TThostFtdcCountryType = [::std::os::raw::c_uchar; 16usize];
///
/// TFtdcLicenseNOType是一个营业执照类型
///
pub type TThostFtdcLicenseNOType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcCompanyTypeType是一个企业性质类型
///
pub type TThostFtdcCompanyTypeType = [::std::os::raw::c_uchar; 16usize];
///
/// TFtdcBusinessScopeType是一个经营范围类型
///
pub type TThostFtdcBusinessScopeType = [::std::os::raw::c_uchar; 1001usize];
///
/// TFtdcCapitalCurrencyType是一个注册资本币种类型
///
pub type TThostFtdcCapitalCurrencyType = [::std::os::raw::c_uchar; 4usize];
pub type TThostFtdcUserTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcBranchIDType是一个营业部编号类型
///
pub type TThostFtdcBranchIDType = [::std::os::raw::c_uchar; 9usize];
pub type TThostFtdcRateTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcNoteTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcSettlementStyleType = ::std::os::raw::c_uchar;
///
/// TFtdcBrokerDNSType是一个域名类型
///
pub type TThostFtdcBrokerDNSType = [::std::os::raw::c_uchar; 256usize];
///
/// TFtdcSentenceType是一个语句类型
///
pub type TThostFtdcSentenceType = [::std::os::raw::c_uchar; 501usize];
pub type TThostFtdcSettlementBillTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcUserRightTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcMarginPriceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBillGenStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcAlgoTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcHandlePositionAlgoIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcFindMarginRateAlgoIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcHandleTradingAccountAlgoIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcPersonTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcQueryInvestorRangeType = ::std::os::raw::c_uchar;
pub type TThostFtdcInvestorRiskStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcLegIDType是一个单腿编号类型
///
pub type TThostFtdcLegIDType = ::std::os::raw::c_int;
///
/// TFtdcLegMultipleType是一个单腿乘数类型
///
pub type TThostFtdcLegMultipleType = ::std::os::raw::c_int;
///
/// TFtdcImplyLevelType是一个派生层数类型
///
pub type TThostFtdcImplyLevelType = ::std::os::raw::c_int;
///
/// TFtdcClearAccountType是一个结算账户类型
///
pub type TThostFtdcClearAccountType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcOrganNOType是一个结算账户类型
///
pub type TThostFtdcOrganNOType = [::std::os::raw::c_uchar; 6usize];
///
/// TFtdcClearbarchIDType是一个结算账户联行号类型
///
pub type TThostFtdcClearbarchIDType = [::std::os::raw::c_uchar; 6usize];
pub type TThostFtdcUserEventTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcUserEventInfoType是一个用户事件信息类型
///
pub type TThostFtdcUserEventInfoType = [::std::os::raw::c_uchar; 1025usize];
pub type TThostFtdcCloseStyleType = ::std::os::raw::c_uchar;
pub type TThostFtdcStatModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcParkedOrderStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcParkedOrderIDType是一个预埋报单编号类型
///
pub type TThostFtdcParkedOrderIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcParkedOrderActionIDType是一个预埋撤单编号类型
///
pub type TThostFtdcParkedOrderActionIDType =
[::std::os::raw::c_uchar; 13usize];
pub type TThostFtdcVirDealStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrgSystemIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcVirTradeStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcVirBankAccTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcVirementStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcVirementAvailAbilityType = ::std::os::raw::c_uchar;
pub type TThostFtdcVirementTradeCodeType = ::std::os::raw::c_uchar;
///
/// TFtdcPhotoTypeNameType是一个影像类型名称类型
///
pub type TThostFtdcPhotoTypeNameType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcPhotoTypeIDType是一个影像类型代码类型
///
pub type TThostFtdcPhotoTypeIDType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcPhotoNameType是一个影像名称类型
///
pub type TThostFtdcPhotoNameType = [::std::os::raw::c_uchar; 161usize];
///
/// TFtdcTopicIDType是一个主题代码类型
///
pub type TThostFtdcTopicIDType = ::std::os::raw::c_int;
///
/// TFtdcReportTypeIDType是一个交易报告类型标识类型
///
pub type TThostFtdcReportTypeIDType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcCharacterIDType是一个交易特征代码类型
///
pub type TThostFtdcCharacterIDType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcAMLParamIDType是一个参数代码类型
///
pub type TThostFtdcAMLParamIDType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcAMLInvestorTypeType是一个投资者类型类型
///
pub type TThostFtdcAMLInvestorTypeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLIdCardTypeType是一个证件类型类型
///
pub type TThostFtdcAMLIdCardTypeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLTradeDirectType是一个资金进出方向类型
///
pub type TThostFtdcAMLTradeDirectType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLTradeModelType是一个资金进出方式类型
///
pub type TThostFtdcAMLTradeModelType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLOpParamValueType是一个业务参数代码值类型
///
pub type TThostFtdcAMLOpParamValueType = f64;
///
/// TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型
///
pub type TThostFtdcAMLCustomerCardTypeType =
[::std::os::raw::c_uchar; 81usize];
///
/// TFtdcAMLInstitutionNameType是一个金融机构网点名称类型
///
pub type TThostFtdcAMLInstitutionNameType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型
///
pub type TThostFtdcAMLDistrictIDType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型
///
pub type TThostFtdcAMLRelationShipType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型
///
pub type TThostFtdcAMLInstitutionTypeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLInstitutionIDType是一个金融机构网点代码类型
///
pub type TThostFtdcAMLInstitutionIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcAMLAccountTypeType是一个账户类型类型
///
pub type TThostFtdcAMLAccountTypeType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcAMLTradingTypeType是一个交易方式类型
///
pub type TThostFtdcAMLTradingTypeType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型
///
pub type TThostFtdcAMLTransactClassType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcAMLCapitalIOType是一个资金收付标识类型
///
pub type TThostFtdcAMLCapitalIOType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcAMLSiteType是一个交易地点类型
///
pub type TThostFtdcAMLSiteType = [::std::os::raw::c_uchar; 10usize];
///
/// TFtdcAMLCapitalPurposeType是一个资金用途类型
///
pub type TThostFtdcAMLCapitalPurposeType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcAMLReportTypeType是一个报文类型类型
///
pub type TThostFtdcAMLReportTypeType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcAMLSerialNoType是一个编号类型
///
pub type TThostFtdcAMLSerialNoType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcAMLStatusType是一个状态类型
///
pub type TThostFtdcAMLStatusType = [::std::os::raw::c_uchar; 2usize];
pub type TThostFtdcAMLGenStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcAMLSeqCodeType是一个业务标识号类型
///
pub type TThostFtdcAMLSeqCodeType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcAMLFileNameType是一个AML文件名类型
///
pub type TThostFtdcAMLFileNameType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcAMLMoneyType是一个反洗钱资金类型
///
pub type TThostFtdcAMLMoneyType = f64;
///
/// TFtdcAMLFileAmountType是一个反洗钱资金类型
///
pub type TThostFtdcAMLFileAmountType = ::std::os::raw::c_int;
///
/// TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型
///
pub type TThostFtdcCFMMCKeyType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcCFMMCTokenType是一个令牌类型(保证金监管)类型
///
pub type TThostFtdcCFMMCTokenType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcCFMMCKeyKindType = ::std::os::raw::c_uchar;
///
/// TFtdcAMLReportNameType是一个报文名称类型
///
pub type TThostFtdcAMLReportNameType = [::std::os::raw::c_uchar; 81usize];
///
/// TFtdcIndividualNameType是一个个人姓名类型
///
pub type TThostFtdcIndividualNameType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcCurrencyIDType是一个币种代码类型
///
pub type TThostFtdcCurrencyIDType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcCustNumberType是一个客户编号类型
///
pub type TThostFtdcCustNumberType = [::std::os::raw::c_uchar; 36usize];
///
/// TFtdcOrganCodeType是一个机构编码类型
///
pub type TThostFtdcOrganCodeType = [::std::os::raw::c_uchar; 36usize];
///
/// TFtdcOrganNameType是一个机构名称类型
///
pub type TThostFtdcOrganNameType = [::std::os::raw::c_uchar; 71usize];
///
/// TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型
///
pub type TThostFtdcSuperOrganCodeType = [::std::os::raw::c_uchar; 12usize];
///
/// TFtdcSubBranchIDType是一个分支机构类型
///
pub type TThostFtdcSubBranchIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcSubBranchNameType是一个分支机构名称类型
///
pub type TThostFtdcSubBranchNameType = [::std::os::raw::c_uchar; 71usize];
///
/// TFtdcBranchNetCodeType是一个机构网点号类型
///
pub type TThostFtdcBranchNetCodeType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcBranchNetNameType是一个机构网点名称类型
///
pub type TThostFtdcBranchNetNameType = [::std::os::raw::c_uchar; 71usize];
///
/// TFtdcOrganFlagType是一个机构标识类型
///
pub type TThostFtdcOrganFlagType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型
///
pub type TThostFtdcBankCodingForFutureType =
[::std::os::raw::c_uchar; 33usize];
///
/// TFtdcBankReturnCodeType是一个银行对返回码的定义类型
///
pub type TThostFtdcBankReturnCodeType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型
///
pub type TThostFtdcPlateReturnCodeType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcBankSubBranchIDType是一个银行分支机构编码类型
///
pub type TThostFtdcBankSubBranchIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcFutureBranchIDType是一个期货分支机构编码类型
///
pub type TThostFtdcFutureBranchIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcReturnCodeType是一个返回代码类型
///
pub type TThostFtdcReturnCodeType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcOperatorCodeType是一个操作员类型
///
pub type TThostFtdcOperatorCodeType = [::std::os::raw::c_uchar; 17usize];
///
/// TFtdcClearDepIDType是一个机构结算帐户机构号类型
///
pub type TThostFtdcClearDepIDType = [::std::os::raw::c_uchar; 6usize];
///
/// TFtdcClearBrchIDType是一个机构结算帐户联行号类型
///
pub type TThostFtdcClearBrchIDType = [::std::os::raw::c_uchar; 6usize];
///
/// TFtdcClearNameType是一个机构结算帐户名称类型
///
pub type TThostFtdcClearNameType = [::std::os::raw::c_uchar; 71usize];
///
/// TFtdcBankAccountNameType是一个银行帐户名称类型
///
pub type TThostFtdcBankAccountNameType = [::std::os::raw::c_uchar; 71usize];
///
/// TFtdcInvDepIDType是一个机构投资人账号机构号类型
///
pub type TThostFtdcInvDepIDType = [::std::os::raw::c_uchar; 6usize];
///
/// TFtdcInvBrchIDType是一个机构投资人联行号类型
///
pub type TThostFtdcInvBrchIDType = [::std::os::raw::c_uchar; 6usize];
///
/// TFtdcMessageFormatVersionType是一个信息格式版本类型
///
pub type TThostFtdcMessageFormatVersionType =
[::std::os::raw::c_uchar; 36usize];
///
/// TFtdcDigestType是一个摘要类型
///
pub type TThostFtdcDigestType = [::std::os::raw::c_uchar; 36usize];
///
/// TFtdcAuthenticDataType是一个认证数据类型
///
pub type TThostFtdcAuthenticDataType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcPasswordKeyType是一个密钥类型
///
pub type TThostFtdcPasswordKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcFutureAccountNameType是一个期货帐户名称类型
///
pub type TThostFtdcFutureAccountNameType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcMobilePhoneType是一个手机类型
///
pub type TThostFtdcMobilePhoneType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcFutureMainKeyType是一个期货公司主密钥类型
///
pub type TThostFtdcFutureMainKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcFutureWorkKeyType是一个期货公司工作密钥类型
///
pub type TThostFtdcFutureWorkKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcFutureTransKeyType是一个期货公司传输密钥类型
///
pub type TThostFtdcFutureTransKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcBankMainKeyType是一个银行主密钥类型
///
pub type TThostFtdcBankMainKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcBankWorkKeyType是一个银行工作密钥类型
///
pub type TThostFtdcBankWorkKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcBankTransKeyType是一个银行传输密钥类型
///
pub type TThostFtdcBankTransKeyType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcBankServerDescriptionType是一个银行服务器描述信息类型
///
pub type TThostFtdcBankServerDescriptionType =
[::std::os::raw::c_uchar; 129usize];
///
/// TFtdcAddInfoType是一个附加信息类型
///
pub type TThostFtdcAddInfoType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcDescrInfoForReturnCodeType是一个返回码描述类型
///
pub type TThostFtdcDescrInfoForReturnCodeType =
[::std::os::raw::c_uchar; 129usize];
///
/// TFtdcCountryCodeType是一个国家代码类型
///
pub type TThostFtdcCountryCodeType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcSerialType是一个流水号类型
///
pub type TThostFtdcSerialType = ::std::os::raw::c_int;
///
/// TFtdcPlateSerialType是一个平台流水号类型
///
pub type TThostFtdcPlateSerialType = ::std::os::raw::c_int;
///
/// TFtdcBankSerialType是一个银行流水号类型
///
pub type TThostFtdcBankSerialType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcCorrectSerialType是一个被冲正交易流水号类型
///
pub type TThostFtdcCorrectSerialType = ::std::os::raw::c_int;
///
/// TFtdcFutureSerialType是一个期货公司流水号类型
///
pub type TThostFtdcFutureSerialType = ::std::os::raw::c_int;
///
/// TFtdcApplicationIDType是一个应用标识类型
///
pub type TThostFtdcApplicationIDType = ::std::os::raw::c_int;
///
/// TFtdcBankProxyIDType是一个银行代理标识类型
///
pub type TThostFtdcBankProxyIDType = ::std::os::raw::c_int;
///
/// TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型
///
pub type TThostFtdcFBTCoreIDType = ::std::os::raw::c_int;
///
/// TFtdcServerPortType是一个服务端口号类型
///
pub type TThostFtdcServerPortType = ::std::os::raw::c_int;
///
/// TFtdcRepealedTimesType是一个已经冲正次数类型
///
pub type TThostFtdcRepealedTimesType = ::std::os::raw::c_int;
///
/// TFtdcRepealTimeIntervalType是一个冲正时间间隔类型
///
pub type TThostFtdcRepealTimeIntervalType = ::std::os::raw::c_int;
///
/// TFtdcTotalTimesType是一个每日累计转帐次数类型
///
pub type TThostFtdcTotalTimesType = ::std::os::raw::c_int;
///
/// TFtdcFBTRequestIDType是一个请求ID类型
///
pub type TThostFtdcFBTRequestIDType = ::std::os::raw::c_int;
///
/// TFtdcTIDType是一个交易ID类型
///
pub type TThostFtdcTIDType = ::std::os::raw::c_int;
///
/// TFtdcTradeAmountType是一个交易金额(元)类型
///
pub type TThostFtdcTradeAmountType = f64;
///
/// TFtdcCustFeeType是一个应收客户费用(元)类型
///
pub type TThostFtdcCustFeeType = f64;
///
/// TFtdcFutureFeeType是一个应收期货公司费用(元)类型
///
pub type TThostFtdcFutureFeeType = f64;
///
/// TFtdcSingleMaxAmtType是一个单笔最高限额类型
///
pub type TThostFtdcSingleMaxAmtType = f64;
///
/// TFtdcSingleMinAmtType是一个单笔最低限额类型
///
pub type TThostFtdcSingleMinAmtType = f64;
///
/// TFtdcTotalAmtType是一个每日累计转帐额度类型
///
pub type TThostFtdcTotalAmtType = f64;
pub type TThostFtdcCertificationTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFileBusinessCodeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCashExchangeCodeType = ::std::os::raw::c_uchar;
pub type TThostFtdcYesNoIndicatorType = ::std::os::raw::c_uchar;
pub type TThostFtdcBanlanceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcGenderType = ::std::os::raw::c_uchar;
pub type TThostFtdcFeePayFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcPassWordKeyTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBTPassWordTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBTEncryModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBankRepealFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcBrokerRepealFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcInstitutionTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcLastFragmentType = ::std::os::raw::c_uchar;
pub type TThostFtdcBankAccStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcMoneyAccountStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcManageStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcSystemTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcTxnEndFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcProcessStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcCustTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBTTransferDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcOpenOrDestroyType = ::std::os::raw::c_uchar;
pub type TThostFtdcAvailabilityFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrganTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrganLevelType = ::std::os::raw::c_uchar;
pub type TThostFtdcProtocalIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcConnectModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcSyncModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBankAccTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFutureAccTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcOrganStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcCCBFeeModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCommApiTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcServiceIDType是一个服务编号类型
///
pub type TThostFtdcServiceIDType = ::std::os::raw::c_int;
///
/// TFtdcServiceLineNoType是一个服务线路编号类型
///
pub type TThostFtdcServiceLineNoType = ::std::os::raw::c_int;
///
/// TFtdcServiceNameType是一个服务名类型
///
pub type TThostFtdcServiceNameType = [::std::os::raw::c_uchar; 61usize];
pub type TThostFtdcLinkStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcCommApiPointerType是一个通讯API指针类型
///
pub type TThostFtdcCommApiPointerType = ::std::os::raw::c_int;
pub type TThostFtdcPwdFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcSecuAccTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcTransferStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcSponsorTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcReqRspTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBTUserEventTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcBankIDByBankType是一个银行自己的编码类型
///
pub type TThostFtdcBankIDByBankType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcBankOperNoType是一个银行操作员号类型
///
pub type TThostFtdcBankOperNoType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcBankCustNoType是一个银行客户号类型
///
pub type TThostFtdcBankCustNoType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcDBOPSeqNoType是一个递增的序列号类型
///
pub type TThostFtdcDBOPSeqNoType = ::std::os::raw::c_int;
///
/// TFtdcTableNameType是一个FBT表名类型
///
pub type TThostFtdcTableNameType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcPKNameType是一个FBT表操作主键名类型
///
pub type TThostFtdcPKNameType = [::std::os::raw::c_uchar; 201usize];
///
/// TFtdcPKValueType是一个FBT表操作主键值类型
///
pub type TThostFtdcPKValueType = [::std::os::raw::c_uchar; 501usize];
pub type TThostFtdcDBOperationType = ::std::os::raw::c_uchar;
pub type TThostFtdcSyncFlagType = ::std::os::raw::c_uchar;
///
/// TFtdcTargetIDType是一个同步目标编号类型
///
pub type TThostFtdcTargetIDType = [::std::os::raw::c_uchar; 4usize];
pub type TThostFtdcSyncTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcFBETimeType是一个各种换汇时间类型
///
pub type TThostFtdcFBETimeType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcFBEBankNoType是一个换汇银行行号类型
///
pub type TThostFtdcFBEBankNoType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcFBECertNoType是一个换汇凭证号类型
///
pub type TThostFtdcFBECertNoType = [::std::os::raw::c_uchar; 13usize];
pub type TThostFtdcExDirectionType = ::std::os::raw::c_uchar;
///
/// TFtdcFBEBankAccountType是一个换汇银行账户类型
///
pub type TThostFtdcFBEBankAccountType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcFBEBankAccountNameType是一个换汇银行账户名类型
///
pub type TThostFtdcFBEBankAccountNameType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcFBEAmtType是一个各种换汇金额类型
///
pub type TThostFtdcFBEAmtType = f64;
///
/// TFtdcFBEBusinessTypeType是一个换汇业务类型类型
///
pub type TThostFtdcFBEBusinessTypeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcFBEPostScriptType是一个换汇附言类型
///
pub type TThostFtdcFBEPostScriptType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcFBERemarkType是一个换汇备注类型
///
pub type TThostFtdcFBERemarkType = [::std::os::raw::c_uchar; 71usize];
///
/// TFtdcExRateType是一个换汇汇率类型
///
pub type TThostFtdcExRateType = f64;
pub type TThostFtdcFBEResultFlagType = ::std::os::raw::c_uchar;
///
/// TFtdcFBERtnMsgType是一个换汇返回信息类型
///
pub type TThostFtdcFBERtnMsgType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcFBEExtendMsgType是一个换汇扩展信息类型
///
pub type TThostFtdcFBEExtendMsgType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcFBEBusinessSerialType是一个换汇记账流水号类型
///
pub type TThostFtdcFBEBusinessSerialType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcFBESystemSerialType是一个换汇流水号类型
///
pub type TThostFtdcFBESystemSerialType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcFBETotalExCntType是一个换汇交易总笔数类型
///
pub type TThostFtdcFBETotalExCntType = ::std::os::raw::c_int;
pub type TThostFtdcFBEExchStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBEFileFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBEAlreadyTradeType = ::std::os::raw::c_uchar;
///
/// TFtdcFBEOpenBankType是一个换汇账户开户行类型
///
pub type TThostFtdcFBEOpenBankType = [::std::os::raw::c_uchar; 61usize];
pub type TThostFtdcFBEUserEventTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcFBEFileNameType是一个换汇相关文件名类型
///
pub type TThostFtdcFBEFileNameType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcFBEBatchSerialType是一个换汇批次号类型
///
pub type TThostFtdcFBEBatchSerialType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcFBEReqFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcNotifyClassType = ::std::os::raw::c_uchar;
///
/// TFtdcRiskNofityInfoType是一个客户风险通知消息类型
///
pub type TThostFtdcRiskNofityInfoType = [::std::os::raw::c_uchar; 257usize];
///
/// TFtdcForceCloseSceneIdType是一个强平场景编号类型
///
pub type TThostFtdcForceCloseSceneIdType = [::std::os::raw::c_uchar; 24usize];
pub type TThostFtdcForceCloseTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型
///
pub type TThostFtdcInstrumentIDsType = [::std::os::raw::c_uchar; 101usize];
pub type TThostFtdcRiskNotifyMethodType = ::std::os::raw::c_uchar;
pub type TThostFtdcRiskNotifyStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcRiskUserEventType = ::std::os::raw::c_uchar;
///
/// TFtdcParamIDType是一个参数代码类型
///
pub type TThostFtdcParamIDType = ::std::os::raw::c_int;
///
/// TFtdcParamNameType是一个参数名类型
///
pub type TThostFtdcParamNameType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcParamValueType是一个参数值类型
///
pub type TThostFtdcParamValueType = [::std::os::raw::c_uchar; 41usize];
pub type TThostFtdcConditionalOrderSortTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcSendTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcClientIDStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcIndustryIDType是一个行业编码类型
///
pub type TThostFtdcIndustryIDType = [::std::os::raw::c_uchar; 17usize];
///
/// TFtdcQuestionIDType是一个特有信息编号类型
///
pub type TThostFtdcQuestionIDType = [::std::os::raw::c_uchar; 5usize];
///
/// TFtdcQuestionContentType是一个特有信息说明类型
///
pub type TThostFtdcQuestionContentType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcOptionIDType是一个选项编号类型
///
pub type TThostFtdcOptionIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcOptionContentType是一个选项说明类型
///
pub type TThostFtdcOptionContentType = [::std::os::raw::c_uchar; 61usize];
pub type TThostFtdcQuestionTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcProcessIDType是一个业务流水号类型
///
pub type TThostFtdcProcessIDType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcSeqNoType是一个流水号类型
///
pub type TThostFtdcSeqNoType = ::std::os::raw::c_int;
///
/// TFtdcUOAProcessStatusType是一个流程状态类型
///
pub type TThostFtdcUOAProcessStatusType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcProcessTypeType是一个流程功能类型类型
///
pub type TThostFtdcProcessTypeType = [::std::os::raw::c_uchar; 3usize];
pub type TThostFtdcBusinessTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCfmmcReturnCodeType = ::std::os::raw::c_uchar;
///
/// TFtdcExReturnCodeType是一个交易所返回码类型
///
pub type TThostFtdcExReturnCodeType = ::std::os::raw::c_int;
pub type TThostFtdcClientTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcExchangeIDTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcExClientIDTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcClientClassifyType是一个客户分类码类型
///
pub type TThostFtdcClientClassifyType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcUOAOrganTypeType是一个单位性质类型
///
pub type TThostFtdcUOAOrganTypeType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcUOACountryCodeType是一个国家代码类型
///
pub type TThostFtdcUOACountryCodeType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcAreaCodeType是一个区号类型
///
pub type TThostFtdcAreaCodeType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcFuturesIDType是一个监控中心为客户分配的代码类型
///
pub type TThostFtdcFuturesIDType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcCffmcDateType是一个日期类型
///
pub type TThostFtdcCffmcDateType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcCffmcTimeType是一个时间类型
///
pub type TThostFtdcCffmcTimeType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcNocIDType是一个组织机构代码类型
///
pub type TThostFtdcNocIDType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcUpdateFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcApplyOperateIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcApplyStatusIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcSendMethodType = ::std::os::raw::c_uchar;
///
/// TFtdcEventTypeType是一个业务操作类型类型
///
pub type TThostFtdcEventTypeType = [::std::os::raw::c_uchar; 33usize];
pub type TThostFtdcEventModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcUOAAutoSendType = ::std::os::raw::c_uchar;
///
/// TFtdcQueryDepthType是一个查询深度类型
///
pub type TThostFtdcQueryDepthType = ::std::os::raw::c_int;
///
/// TFtdcDataCenterIDType是一个数据中心代码类型
///
pub type TThostFtdcDataCenterIDType = ::std::os::raw::c_int;
pub type TThostFtdcFlowIDType = ::std::os::raw::c_uchar;
pub type TThostFtdcCheckLevelType = ::std::os::raw::c_uchar;
///
/// TFtdcCheckNoType是一个操作次数类型
///
pub type TThostFtdcCheckNoType = ::std::os::raw::c_int;
pub type TThostFtdcCheckStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcUsedStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcRateTemplateNameType是一个模型名称类型
///
pub type TThostFtdcRateTemplateNameType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcPropertyStringType是一个用于查询的投资属性字段类型
///
pub type TThostFtdcPropertyStringType = [::std::os::raw::c_uchar; 2049usize];
pub type TThostFtdcBankAcountOriginType = ::std::os::raw::c_uchar;
pub type TThostFtdcMonthBillTradeSumType = ::std::os::raw::c_uchar;
pub type TThostFtdcFBTTradeCodeEnumType = ::std::os::raw::c_uchar;
///
/// TFtdcRateTemplateIDType是一个模型代码类型
///
pub type TThostFtdcRateTemplateIDType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcRiskRateType是一个风险度类型
///
pub type TThostFtdcRiskRateType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcTimestampType是一个时间戳类型
///
pub type TThostFtdcTimestampType = ::std::os::raw::c_int;
///
/// TFtdcInvestorIDRuleNameType是一个号段规则名称类型
///
pub type TThostFtdcInvestorIDRuleNameType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcInvestorIDRuleExprType是一个号段规则表达式类型
///
pub type TThostFtdcInvestorIDRuleExprType =
[::std::os::raw::c_uchar; 513usize];
///
/// TFtdcLastDriftType是一个上次OTP漂移值类型
///
pub type TThostFtdcLastDriftType = ::std::os::raw::c_int;
///
/// TFtdcLastSuccessType是一个上次OTP成功值类型
///
pub type TThostFtdcLastSuccessType = ::std::os::raw::c_int;
///
/// TFtdcAuthKeyType是一个令牌密钥类型
///
pub type TThostFtdcAuthKeyType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcSerialNumberType是一个序列号类型
///
pub type TThostFtdcSerialNumberType = [::std::os::raw::c_uchar; 17usize];
pub type TThostFtdcOTPTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcOTPVendorsIDType是一个动态令牌提供商类型
///
pub type TThostFtdcOTPVendorsIDType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型
///
pub type TThostFtdcOTPVendorsNameType = [::std::os::raw::c_uchar; 61usize];
pub type TThostFtdcOTPStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcBrokerUserTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFutureTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundEventTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcAccountSourceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCodeSourceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcUserRangeType = ::std::os::raw::c_uchar;
///
/// TFtdcTimeSpanType是一个时间跨度类型
///
pub type TThostFtdcTimeSpanType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型
///
pub type TThostFtdcImportSequenceIDType = [::std::os::raw::c_uchar; 17usize];
pub type TThostFtdcByGroupType = ::std::os::raw::c_uchar;
pub type TThostFtdcTradeSumStatModeType = ::std::os::raw::c_uchar;
///
/// TFtdcComTypeType是一个组合成交类型类型
///
pub type TThostFtdcComTypeType = ::std::os::raw::c_int;
///
/// TFtdcUserProductIDType是一个产品标识类型
///
pub type TThostFtdcUserProductIDType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcUserProductNameType是一个产品名称类型
///
pub type TThostFtdcUserProductNameType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcUserProductMemoType是一个产品说明类型
///
pub type TThostFtdcUserProductMemoType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcCSRCCancelFlagType是一个新增或变更标志类型
///
pub type TThostFtdcCSRCCancelFlagType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcCSRCDateType是一个日期类型
///
pub type TThostFtdcCSRCDateType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcCSRCInvestorNameType是一个客户名称类型
///
pub type TThostFtdcCSRCInvestorNameType = [::std::os::raw::c_uchar; 201usize];
///
/// TFtdcCSRCOpenInvestorNameType是一个客户名称类型
///
pub type TThostFtdcCSRCOpenInvestorNameType =
[::std::os::raw::c_uchar; 101usize];
///
/// TFtdcCSRCInvestorIDType是一个客户代码类型
///
pub type TThostFtdcCSRCInvestorIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcCSRCIdentifiedCardNoType是一个证件号码类型
///
pub type TThostFtdcCSRCIdentifiedCardNoType =
[::std::os::raw::c_uchar; 51usize];
///
/// TFtdcCSRCClientIDType是一个交易编码类型
///
pub type TThostFtdcCSRCClientIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcCSRCBankFlagType是一个银行标识类型
///
pub type TThostFtdcCSRCBankFlagType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcCSRCBankAccountType是一个银行账户类型
///
pub type TThostFtdcCSRCBankAccountType = [::std::os::raw::c_uchar; 23usize];
///
/// TFtdcCSRCOpenNameType是一个开户人类型
///
pub type TThostFtdcCSRCOpenNameType = [::std::os::raw::c_uchar; 401usize];
///
/// TFtdcCSRCMemoType是一个说明类型
///
pub type TThostFtdcCSRCMemoType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcCSRCTimeType是一个时间类型
///
pub type TThostFtdcCSRCTimeType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcCSRCTradeIDType是一个成交流水号类型
///
pub type TThostFtdcCSRCTradeIDType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcCSRCExchangeInstIDType是一个合约代码类型
///
pub type TThostFtdcCSRCExchangeInstIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcCSRCMortgageNameType是一个质押品名称类型
///
pub type TThostFtdcCSRCMortgageNameType = [::std::os::raw::c_uchar; 7usize];
///
/// TFtdcCSRCReasonType是一个事由类型
///
pub type TThostFtdcCSRCReasonType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcIsSettlementType是一个是否为非结算会员类型
///
pub type TThostFtdcIsSettlementType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcCSRCMoneyType是一个资金类型
///
pub type TThostFtdcCSRCMoneyType = f64;
///
/// TFtdcCSRCPriceType是一个价格类型
///
pub type TThostFtdcCSRCPriceType = f64;
///
/// TFtdcCSRCOptionsTypeType是一个期权类型类型
///
pub type TThostFtdcCSRCOptionsTypeType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcCSRCStrikePriceType是一个执行价类型
///
pub type TThostFtdcCSRCStrikePriceType = f64;
///
/// TFtdcCSRCTargetProductIDType是一个标的品种类型
///
pub type TThostFtdcCSRCTargetProductIDType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcCSRCTargetInstrIDType是一个标的合约类型
///
pub type TThostFtdcCSRCTargetInstrIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcCommModelNameType是一个手续费率模板名称类型
///
pub type TThostFtdcCommModelNameType = [::std::os::raw::c_uchar; 161usize];
///
/// TFtdcCommModelMemoType是一个手续费率模板备注类型
///
pub type TThostFtdcCommModelMemoType = [::std::os::raw::c_uchar; 1025usize];
pub type TThostFtdcExprSetModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcRateInvestorRangeType = ::std::os::raw::c_uchar;
///
/// TFtdcAgentBrokerIDType是一个代理经纪公司代码类型
///
pub type TThostFtdcAgentBrokerIDType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcDRIdentityIDType是一个交易中心代码类型
///
pub type TThostFtdcDRIdentityIDType = ::std::os::raw::c_int;
///
/// TFtdcDRIdentityNameType是一个交易中心名称类型
///
pub type TThostFtdcDRIdentityNameType = [::std::os::raw::c_uchar; 65usize];
///
/// TFtdcDBLinkIDType是一个DBLink标识号类型
///
pub type TThostFtdcDBLinkIDType = [::std::os::raw::c_uchar; 31usize];
pub type TThostFtdcSyncDataStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcTradeSourceType = ::std::os::raw::c_uchar;
pub type TThostFtdcFlexStatModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcByInvestorRangeType = ::std::os::raw::c_uchar;
///
/// TFtdcSRiskRateType是一个风险度类型
///
pub type TThostFtdcSRiskRateType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcSequenceNo12Type是一个序号类型
///
pub type TThostFtdcSequenceNo12Type = ::std::os::raw::c_int;
pub type TThostFtdcPropertyInvestorRangeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFileStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcFileGenStyleType = ::std::os::raw::c_uchar;
pub type TThostFtdcSysOperModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcSysOperTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCSRCDataQueyTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFreezeStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcStandardStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcCSRCFreezeStatusType是一个休眠状态类型
///
pub type TThostFtdcCSRCFreezeStatusType = [::std::os::raw::c_uchar; 2usize];
pub type TThostFtdcRightParamTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcRightTemplateIDType是一个模板代码类型
///
pub type TThostFtdcRightTemplateIDType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcRightTemplateNameType是一个模板名称类型
///
pub type TThostFtdcRightTemplateNameType = [::std::os::raw::c_uchar; 61usize];
pub type TThostFtdcDataStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcAMLCheckStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcAmlDateTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcAmlCheckLevelType = ::std::os::raw::c_uchar;
///
/// TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型
///
pub type TThostFtdcAmlCheckFlowType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcDataTypeType是一个数据类型类型
///
pub type TThostFtdcDataTypeType = [::std::os::raw::c_uchar; 129usize];
pub type TThostFtdcExportFileTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcSettleManagerTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcSettleManagerIDType是一个结算配置代码类型
///
pub type TThostFtdcSettleManagerIDType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcSettleManagerNameType是一个结算配置名称类型
///
pub type TThostFtdcSettleManagerNameType = [::std::os::raw::c_uchar; 129usize];
pub type TThostFtdcSettleManagerLevelType = ::std::os::raw::c_uchar;
pub type TThostFtdcSettleManagerGroupType = ::std::os::raw::c_uchar;
///
/// TFtdcCheckResultMemoType是一个核对结果说明类型
///
pub type TThostFtdcCheckResultMemoType = [::std::os::raw::c_uchar; 1025usize];
///
/// TFtdcFunctionUrlType是一个功能链接类型
///
pub type TThostFtdcFunctionUrlType = [::std::os::raw::c_uchar; 1025usize];
///
/// TFtdcAuthInfoType是一个客户端认证信息类型
///
pub type TThostFtdcAuthInfoType = [::std::os::raw::c_uchar; 129usize];
///
/// TFtdcAuthCodeType是一个客户端认证码类型
///
pub type TThostFtdcAuthCodeType = [::std::os::raw::c_uchar; 17usize];
pub type TThostFtdcLimitUseTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcDataResourceType = ::std::os::raw::c_uchar;
pub type TThostFtdcMarginTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcActiveTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcMarginRateTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBackUpStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcInitSettlementType = ::std::os::raw::c_uchar;
pub type TThostFtdcReportStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcSaveStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcSettArchiveStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcCTPTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcToolIDType是一个工具代码类型
///
pub type TThostFtdcToolIDType = [::std::os::raw::c_uchar; 9usize];
///
/// TFtdcToolNameType是一个工具名称类型
///
pub type TThostFtdcToolNameType = [::std::os::raw::c_uchar; 81usize];
pub type TThostFtdcCloseDealTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcMortgageFundUseRangeType = ::std::os::raw::c_uchar;
///
/// TFtdcCurrencyUnitType是一个币种单位数量类型
///
pub type TThostFtdcCurrencyUnitType = f64;
///
/// TFtdcExchangeRateType是一个汇率类型
///
pub type TThostFtdcExchangeRateType = f64;
pub type TThostFtdcSpecProductTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundMortgageTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcAccountSettlementParamIDType = ::std::os::raw::c_uchar;
///
/// TFtdcCurrencyNameType是一个币种名称类型
///
pub type TThostFtdcCurrencyNameType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcCurrencySignType是一个币种符号类型
///
pub type TThostFtdcCurrencySignType = [::std::os::raw::c_uchar; 4usize];
pub type TThostFtdcFundMortDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcBusinessClassType = ::std::os::raw::c_uchar;
pub type TThostFtdcSwapSourceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCurrExDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcCurrencySwapStatusType = ::std::os::raw::c_uchar;
///
/// TFtdcCurrExchCertNoType是一个凭证号类型
///
pub type TThostFtdcCurrExchCertNoType = [::std::os::raw::c_uchar; 13usize];
///
/// TFtdcBatchSerialNoType是一个批次号类型
///
pub type TThostFtdcBatchSerialNoType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcReqFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcResFlagType = ::std::os::raw::c_uchar;
///
/// TFtdcPageControlType是一个换汇页面控制类型
///
pub type TThostFtdcPageControlType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcRecordCountType是一个记录数类型
///
pub type TThostFtdcRecordCountType = ::std::os::raw::c_int;
///
/// TFtdcCurrencySwapMemoType是一个换汇需确认信息类型
///
pub type TThostFtdcCurrencySwapMemoType = [::std::os::raw::c_uchar; 101usize];
pub type TThostFtdcExStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcClientRegionType = ::std::os::raw::c_uchar;
///
/// TFtdcWorkPlaceType是一个工作单位类型
///
pub type TThostFtdcWorkPlaceType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcBusinessPeriodType是一个经营期限类型
///
pub type TThostFtdcBusinessPeriodType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcWebSiteType是一个网址类型
///
pub type TThostFtdcWebSiteType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcUOAIdCardTypeType是一个统一开户证件类型类型
///
pub type TThostFtdcUOAIdCardTypeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcClientModeType是一个开户模式类型
///
pub type TThostFtdcClientModeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcInvestorFullNameType是一个投资者全称类型
///
pub type TThostFtdcInvestorFullNameType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcUOABrokerIDType是一个境外中介机构ID类型
///
pub type TThostFtdcUOABrokerIDType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcUOAZipCodeType是一个邮政编码类型
///
pub type TThostFtdcUOAZipCodeType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcUOAEMailType是一个电子邮箱类型
///
pub type TThostFtdcUOAEMailType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcOldCityType是一个城市类型
///
pub type TThostFtdcOldCityType = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcCorporateIdentifiedCardNoType是一个法人代表证件号码类型
///
pub type TThostFtdcCorporateIdentifiedCardNoType =
[::std::os::raw::c_uchar; 101usize];
pub type TThostFtdcHasBoardType = ::std::os::raw::c_uchar;
pub type TThostFtdcStartModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcTemplateTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcLoginModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcPromptTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcLedgerManageIDType是一个分户管理资产编码类型
///
pub type TThostFtdcLedgerManageIDType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcInvestVarietyType是一个投资品种类型
///
pub type TThostFtdcInvestVarietyType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcBankAccountTypeType是一个账户类别类型
///
pub type TThostFtdcBankAccountTypeType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcLedgerManageBankType是一个开户银行类型
///
pub type TThostFtdcLedgerManageBankType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcCffexDepartmentNameType是一个开户营业部类型
///
pub type TThostFtdcCffexDepartmentNameType =
[::std::os::raw::c_uchar; 101usize];
///
/// TFtdcCffexDepartmentCodeType是一个营业部代码类型
///
pub type TThostFtdcCffexDepartmentCodeType = [::std::os::raw::c_uchar; 9usize];
pub type TThostFtdcHasTrusteeType = ::std::os::raw::c_uchar;
///
/// TFtdcCSRCMemo1Type是一个说明类型
///
pub type TThostFtdcCSRCMemo1Type = [::std::os::raw::c_uchar; 41usize];
///
/// TFtdcAssetmgrCFullNameType是一个代理资产管理业务的期货公司全称类型
///
pub type TThostFtdcAssetmgrCFullNameType = [::std::os::raw::c_uchar; 101usize];
///
/// TFtdcAssetmgrApprovalNOType是一个资产管理业务批文号类型
///
pub type TThostFtdcAssetmgrApprovalNOType = [::std::os::raw::c_uchar; 51usize];
///
/// TFtdcAssetmgrMgrNameType是一个资产管理业务负责人姓名类型
///
pub type TThostFtdcAssetmgrMgrNameType = [::std::os::raw::c_uchar; 401usize];
pub type TThostFtdcAmTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcCSRCAmTypeType是一个机构类型类型
///
pub type TThostFtdcCSRCAmTypeType = [::std::os::raw::c_uchar; 5usize];
pub type TThostFtdcCSRCFundIOTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCusAccountTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcCSRCNationalType是一个国籍类型
///
pub type TThostFtdcCSRCNationalType = [::std::os::raw::c_uchar; 4usize];
///
/// TFtdcCSRCSecAgentIDType是一个二级代理ID类型
///
pub type TThostFtdcCSRCSecAgentIDType = [::std::os::raw::c_uchar; 11usize];
pub type TThostFtdcLanguageTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcAmAccountType是一个投资账户类型
///
pub type TThostFtdcAmAccountType = [::std::os::raw::c_uchar; 23usize];
pub type TThostFtdcAssetmgrClientTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcAssetmgrTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcUOMType是一个计量单位类型
///
pub type TThostFtdcUOMType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcSHFEInstLifePhaseType是一个上期所合约生命周期状态类型
///
pub type TThostFtdcSHFEInstLifePhaseType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcSHFEProductClassType是一个产品类型类型
///
pub type TThostFtdcSHFEProductClassType = [::std::os::raw::c_uchar; 11usize];
///
/// TFtdcPriceDecimalType是一个价格小数位类型
///
pub type TThostFtdcPriceDecimalType = [::std::os::raw::c_uchar; 2usize];
///
/// TFtdcInTheMoneyFlagType是一个平值期权标志类型
///
pub type TThostFtdcInTheMoneyFlagType = [::std::os::raw::c_uchar; 2usize];
pub type TThostFtdcCheckInstrTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcDeliveryTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcBigMoneyType是一个资金类型
///
pub type TThostFtdcBigMoneyType = f64;
pub type TThostFtdcMaxMarginSideAlgorithmType = ::std::os::raw::c_uchar;
pub type TThostFtdcDAClientTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcCombinInstrIDType是一个套利合约代码类型
///
pub type TThostFtdcCombinInstrIDType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcCombinSettlePriceType是一个各腿结算价类型
///
pub type TThostFtdcCombinSettlePriceType = [::std::os::raw::c_uchar; 61usize];
///
/// TFtdcDCEPriorityType是一个优先级类型
///
pub type TThostFtdcDCEPriorityType = ::std::os::raw::c_int;
///
/// TFtdcTradeGroupIDType是一个成交组号类型
///
pub type TThostFtdcTradeGroupIDType = ::std::os::raw::c_int;
///
/// TFtdcIsCheckPrepaType是一个是否校验开户可用资金类型
///
pub type TThostFtdcIsCheckPrepaType = ::std::os::raw::c_int;
pub type TThostFtdcUOAAssetmgrTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcDirectionEnType = ::std::os::raw::c_uchar;
pub type TThostFtdcOffsetFlagEnType = ::std::os::raw::c_uchar;
pub type TThostFtdcHedgeFlagEnType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundIOTypeEnType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundTypeEnType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundDirectionEnType = ::std::os::raw::c_uchar;
pub type TThostFtdcFundMortDirectionEnType = ::std::os::raw::c_uchar;
///
/// TFtdcSwapBusinessTypeType是一个换汇业务种类类型
///
pub type TThostFtdcSwapBusinessTypeType = [::std::os::raw::c_uchar; 3usize];
pub type TThostFtdcOptionsTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcStrikeModeType = ::std::os::raw::c_uchar;
pub type TThostFtdcStrikeTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcApplyTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcGiveUpDataSourceType = ::std::os::raw::c_uchar;
///
/// TFtdcExecOrderSysIDType是一个执行宣告系统编号类型
///
pub type TThostFtdcExecOrderSysIDType = [::std::os::raw::c_uchar; 21usize];
pub type TThostFtdcExecResultType = ::std::os::raw::c_uchar;
///
/// TFtdcStrikeSequenceType是一个执行序号类型
///
pub type TThostFtdcStrikeSequenceType = ::std::os::raw::c_int;
///
/// TFtdcStrikeTimeType是一个执行时间类型
///
pub type TThostFtdcStrikeTimeType = [::std::os::raw::c_uchar; 13usize];
pub type TThostFtdcCombinationTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcDceCombinationTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcOptionRoyaltyPriceTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcBalanceAlgorithmType = ::std::os::raw::c_uchar;
pub type TThostFtdcActionTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcForQuoteStatusType = ::std::os::raw::c_uchar;
pub type TThostFtdcValueMethodType = ::std::os::raw::c_uchar;
pub type TThostFtdcExecOrderPositionFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcExecOrderCloseFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcProductTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcCZCEUploadFileNameType = ::std::os::raw::c_uchar;
pub type TThostFtdcDCEUploadFileNameType = ::std::os::raw::c_uchar;
pub type TThostFtdcSHFEUploadFileNameType = ::std::os::raw::c_uchar;
pub type TThostFtdcCFFEXUploadFileNameType = ::std::os::raw::c_uchar;
pub type TThostFtdcCombDirectionType = ::std::os::raw::c_uchar;
pub type TThostFtdcStrikeOffsetTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcReserveOpenAccStasType = ::std::os::raw::c_uchar;
///
/// TFtdcLoginRemarkType是一个登录备注类型
///
pub type TThostFtdcLoginRemarkType = [::std::os::raw::c_uchar; 36usize];
///
/// TFtdcInvestUnitIDType是一个投资单元代码类型
///
pub type TThostFtdcInvestUnitIDType = [::std::os::raw::c_uchar; 17usize];
///
/// TFtdcBulletinIDType是一个公告编号类型
///
pub type TThostFtdcBulletinIDType = ::std::os::raw::c_int;
///
/// TFtdcNewsTypeType是一个公告类型类型
///
pub type TThostFtdcNewsTypeType = [::std::os::raw::c_uchar; 3usize];
///
/// TFtdcNewsUrgencyType是一个紧急程度类型
///
pub type TThostFtdcNewsUrgencyType = ::std::os::raw::c_uchar;
///
/// TFtdcAbstractType是一个消息摘要类型
///
pub type TThostFtdcAbstractType = [::std::os::raw::c_uchar; 81usize];
///
/// TFtdcComeFromType是一个消息来源类型
///
pub type TThostFtdcComeFromType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcURLLinkType是一个WEB地址类型
///
pub type TThostFtdcURLLinkType = [::std::os::raw::c_uchar; 201usize];
///
/// TFtdcLongIndividualNameType是一个长个人姓名类型
///
pub type TThostFtdcLongIndividualNameType =
[::std::os::raw::c_uchar; 161usize];
///
/// TFtdcLongFBEBankAccountNameType是一个长换汇银行账户名类型
///
pub type TThostFtdcLongFBEBankAccountNameType =
[::std::os::raw::c_uchar; 161usize];
///
/// TFtdcDateTimeType是一个日期时间类型
///
pub type TThostFtdcDateTimeType = [::std::os::raw::c_uchar; 17usize];
pub type TThostFtdcWeakPasswordSourceType = ::std::os::raw::c_uchar;
///
/// TFtdcRandomStringType是一个随机串类型
///
pub type TThostFtdcRandomStringType = [::std::os::raw::c_uchar; 17usize];
pub type TThostFtdcOptSelfCloseFlagType = ::std::os::raw::c_uchar;
pub type TThostFtdcBizTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcAppTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcAppIDType是一个App代码类型
///
pub type TThostFtdcAppIDType = [::std::os::raw::c_uchar; 33usize];
///
/// TFtdcSystemInfoLenType是一个系统信息长度类型
///
pub type TThostFtdcSystemInfoLenType = ::std::os::raw::c_int;
///
/// TFtdcAdditionalInfoLenType是一个补充信息长度类型
///
pub type TThostFtdcAdditionalInfoLenType = ::std::os::raw::c_int;
///
/// TFtdcClientSystemInfoType是一个交易终端系统信息类型
///
pub type TThostFtdcClientSystemInfoType = [::std::os::raw::c_uchar; 273usize];
///
/// TFtdcAdditionalInfoType是一个系统外部信息类型
///
pub type TThostFtdcAdditionalInfoType = [::std::os::raw::c_uchar; 261usize];
///
/// TFtdcBase64ClientSystemInfoType是一个base64交易终端系统信息类型
///
pub type TThostFtdcBase64ClientSystemInfoType =
[::std::os::raw::c_uchar; 365usize];
///
/// TFtdcBase64AdditionalInfoType是一个base64系统外部信息类型
///
pub type TThostFtdcBase64AdditionalInfoType =
[::std::os::raw::c_uchar; 349usize];
///
/// TFtdcCurrentAuthMethodType是一个当前可用的认证模式,0代表无需认证模式 A从低位开始最后一位代表图片验证码,倒数第二位代表动态口令,倒数第三位代表短信验证码类型
///
pub type TThostFtdcCurrentAuthMethodType = ::std::os::raw::c_int;
///
/// TFtdcCaptchaInfoLenType是一个图片验证信息长度类型
///
pub type TThostFtdcCaptchaInfoLenType = ::std::os::raw::c_int;
///
/// TFtdcCaptchaInfoType是一个图片验证信息类型
///
pub type TThostFtdcCaptchaInfoType = [::std::os::raw::c_uchar; 2561usize];
///
/// TFtdcUserTextSeqType是一个用户短信验证码的编号类型
///
pub type TThostFtdcUserTextSeqType = ::std::os::raw::c_int;
///
/// TFtdcHandshakeDataType是一个握手数据内容类型
///
pub type TThostFtdcHandshakeDataType = [::std::os::raw::c_uchar; 301usize];
///
/// TFtdcHandshakeDataLenType是一个握手数据内容长度类型
///
pub type TThostFtdcHandshakeDataLenType = ::std::os::raw::c_int;
///
/// TFtdcCryptoKeyVersionType是一个api与front通信密钥版本号类型
///
pub type TThostFtdcCryptoKeyVersionType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcRsaKeyVersionType是一个公钥版本号类型
///
pub type TThostFtdcRsaKeyVersionType = ::std::os::raw::c_int;
///
/// TFtdcSoftwareProviderIDType是一个交易软件商ID类型
///
pub type TThostFtdcSoftwareProviderIDType = [::std::os::raw::c_uchar; 22usize];
///
/// TFtdcCollectTimeType是一个信息采集时间类型
///
pub type TThostFtdcCollectTimeType = [::std::os::raw::c_uchar; 21usize];
///
/// TFtdcQueryFreqType是一个查询频率类型
///
pub type TThostFtdcQueryFreqType = ::std::os::raw::c_int;
pub type TThostFtdcResponseValueType = ::std::os::raw::c_uchar;
pub type TThostFtdcOTCTradeTypeType = ::std::os::raw::c_uchar;
pub type TThostFtdcMatchTypeType = ::std::os::raw::c_uchar;
///
/// TFtdcOTCTraderIDType是一个OTC交易员代码类型
///
pub type TThostFtdcOTCTraderIDType = [::std::os::raw::c_uchar; 31usize];
///
/// TFtdcRiskValueType是一个期货风险值类型
///
pub type TThostFtdcRiskValueType = f64;
///
/// TFtdcIDBNameType是一个握手数据内容类型
///
pub type TThostFtdcIDBNameType = [::std::os::raw::c_uchar; 100usize];
/// 信息分发
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcDisseminationField {
/// 序列系列号
pub SequenceSeries: TThostFtdcSequenceSeriesType,
/// 序列号
pub SequenceNo: TThostFtdcSequenceNoType,
}
#[test]
fn bindgen_test_layout_CThostFtdcDisseminationField() {
assert_eq!(::std::mem::size_of::<CThostFtdcDisseminationField>() , 8usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcDisseminationField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcDisseminationField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcDisseminationField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDisseminationField ) ) .
SequenceSeries as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDisseminationField ) , "::" , stringify ! (
SequenceSeries ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDisseminationField ) ) .
SequenceNo as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDisseminationField ) , "::" , stringify ! (
SequenceNo ) ));
}
impl Clone for CThostFtdcDisseminationField {
fn clone(&self) -> Self { *self }
}
/// 用户登录请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqUserLoginField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 接口端产品信息
pub InterfaceProductInfo: TThostFtdcProductInfoType,
/// 协议信息
pub ProtocolInfo: TThostFtdcProtocolInfoType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 动态密码
pub OneTimePassword: TThostFtdcPasswordType,
/// 终端IP地址
pub ClientIPAddress: TThostFtdcIPAddressType,
/// 登录备注
pub LoginRemark: TThostFtdcLoginRemarkType,
/// 终端IP端口
pub ClientIPPort: TThostFtdcIPPortType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqUserLoginField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginField>() , 228usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcReqUserLoginField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqUserLoginField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) . UserID
as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
Password as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! ( Password
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
UserProductInfo as * const _ as usize } , 77usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
InterfaceProductInfo as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
InterfaceProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
ProtocolInfo as * const _ as usize } , 99usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
ProtocolInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
MacAddress as * const _ as usize } , 110usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
OneTimePassword as * const _ as usize } , 131usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
OneTimePassword ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
ClientIPAddress as * const _ as usize } , 172usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
ClientIPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
LoginRemark as * const _ as usize } , 188usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
LoginRemark ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
ClientIPPort as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginField ) , "::" , stringify ! (
ClientIPPort ) ));
}
impl Clone for CThostFtdcReqUserLoginField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqUserLoginField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户登录应答
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspUserLoginField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 登录成功时间
pub LoginTime: TThostFtdcTimeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 交易系统名称
pub SystemName: TThostFtdcSystemNameType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 最大报单引用
pub MaxOrderRef: TThostFtdcOrderRefType,
/// 上期所时间
pub SHFETime: TThostFtdcTimeType,
/// 大商所时间
pub DCETime: TThostFtdcTimeType,
/// 郑商所时间
pub CZCETime: TThostFtdcTimeType,
/// 中金所时间
pub FFEXTime: TThostFtdcTimeType,
/// 能源中心时间
pub INETime: TThostFtdcTimeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspUserLoginField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspUserLoginField>() , 156usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcRspUserLoginField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspUserLoginField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspUserLoginField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
LoginTime as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( LoginTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
BrokerID as * const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . UserID
as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
SystemName as * const _ as usize } , 45usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! (
SystemName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . FrontID
as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
SessionID as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
MaxOrderRef as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! (
MaxOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
SHFETime as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( SHFETime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . DCETime
as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( DCETime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
CZCETime as * const _ as usize } , 127usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( CZCETime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
FFEXTime as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( FFEXTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . INETime
as * const _ as usize } , 145usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLoginField ) , "::" , stringify ! ( INETime )
));
}
impl Clone for CThostFtdcRspUserLoginField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspUserLoginField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户登出请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcUserLogoutField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserLogoutField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserLogoutField>() , 27usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcUserLogoutField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcUserLogoutField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcUserLogoutField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserLogoutField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserLogoutField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserLogoutField ) ) . UserID as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserLogoutField ) , "::" , stringify ! ( UserID )
));
}
impl Clone for CThostFtdcUserLogoutField {
fn clone(&self) -> Self { *self }
}
/// 强制交易员退出
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcForceUserLogoutField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcForceUserLogoutField() {
assert_eq!(::std::mem::size_of::<CThostFtdcForceUserLogoutField>() ,
27usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcForceUserLogoutField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcForceUserLogoutField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcForceUserLogoutField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForceUserLogoutField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForceUserLogoutField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForceUserLogoutField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForceUserLogoutField ) , "::" , stringify ! ( UserID
) ));
}
impl Clone for CThostFtdcForceUserLogoutField {
fn clone(&self) -> Self { *self }
}
/// 客户端认证请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqAuthenticateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 认证码
pub AuthCode: TThostFtdcAuthCodeType,
/// App代码
pub AppID: TThostFtdcAppIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqAuthenticateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqAuthenticateField>() ,
88usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqAuthenticateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqAuthenticateField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqAuthenticateField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqAuthenticateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqAuthenticateField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
UserProductInfo as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqAuthenticateField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
AuthCode as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqAuthenticateField ) , "::" , stringify ! (
AuthCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
AppID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqAuthenticateField ) , "::" , stringify ! ( AppID
) ));
}
impl Clone for CThostFtdcReqAuthenticateField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqAuthenticateField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 客户端认证响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspAuthenticateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// App代码
pub AppID: TThostFtdcAppIDType,
/// App类型
pub AppType: TThostFtdcAppTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspAuthenticateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspAuthenticateField>() ,
72usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspAuthenticateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspAuthenticateField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspAuthenticateField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspAuthenticateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspAuthenticateField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
UserProductInfo as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspAuthenticateField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
AppID as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspAuthenticateField ) , "::" , stringify ! ( AppID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
AppType as * const _ as usize } , 71usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspAuthenticateField ) , "::" , stringify ! (
AppType ) ));
}
impl Clone for CThostFtdcRspAuthenticateField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspAuthenticateField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 客户端认证信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcAuthenticationInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 认证信息
pub AuthInfo: TThostFtdcAuthInfoType,
/// 是否为认证结果
pub IsResult: TThostFtdcBoolType,
/// App代码
pub AppID: TThostFtdcAppIDType,
/// App类型
pub AppType: TThostFtdcAppTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcAuthenticationInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcAuthenticationInfoField>() ,
208usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcAuthenticationInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcAuthenticationInfoField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcAuthenticationInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
UserProductInfo as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
AuthInfo as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
AuthInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
IsResult as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
IsResult ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
AppID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
AppID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
AppType as * const _ as usize } , 205usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
AppType ) ));
}
impl Clone for CThostFtdcAuthenticationInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcAuthenticationInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户登录应答2
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspUserLogin2Field {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 登录成功时间
pub LoginTime: TThostFtdcTimeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 交易系统名称
pub SystemName: TThostFtdcSystemNameType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 最大报单引用
pub MaxOrderRef: TThostFtdcOrderRefType,
/// 上期所时间
pub SHFETime: TThostFtdcTimeType,
/// 大商所时间
pub DCETime: TThostFtdcTimeType,
/// 郑商所时间
pub CZCETime: TThostFtdcTimeType,
/// 中金所时间
pub FFEXTime: TThostFtdcTimeType,
/// 能源中心时间
pub INETime: TThostFtdcTimeType,
/// 随机串
pub RandomString: TThostFtdcRandomStringType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspUserLogin2Field() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspUserLogin2Field>() ,
172usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspUserLogin2Field ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspUserLogin2Field>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspUserLogin2Field )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
LoginTime as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
LoginTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
BrokerID as * const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) . UserID
as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
SystemName as * const _ as usize } , 45usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
SystemName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
FrontID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( FrontID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
SessionID as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
MaxOrderRef as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
MaxOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
SHFETime as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( SHFETime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
DCETime as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( DCETime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
CZCETime as * const _ as usize } , 127usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( CZCETime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
FFEXTime as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( FFEXTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
INETime as * const _ as usize } , 145usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( INETime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
RandomString as * const _ as usize } , 154usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
RandomString ) ));
}
impl Clone for CThostFtdcRspUserLogin2Field {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspUserLogin2Field {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银期转帐报文头
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTransferHeaderField {
/// 版本号,常量,1.0
pub Version: TThostFtdcVersionType,
/// 交易代码,必填
pub TradeCode: TThostFtdcTradeCodeType,
/// 交易日期,必填,格式:yyyymmdd
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间,必填,格式:hhmmss
pub TradeTime: TThostFtdcTradeTimeType,
/// 发起方流水号,N/A
pub TradeSerial: TThostFtdcTradeSerialType,
/// 期货公司代码,必填
pub FutureID: TThostFtdcFutureIDType,
/// 银行代码,根据查询银行得到,必填
pub BankID: TThostFtdcBankIDType,
/// 银行分中心代码,根据查询银行得到,必填
pub BankBrchID: TThostFtdcBankBrchIDType,
/// 操作员,N/A
pub OperNo: TThostFtdcOperNoType,
/// 交易设备类型,N/A
pub DeviceID: TThostFtdcDeviceIDType,
/// 记录数,N/A
pub RecordNum: TThostFtdcRecordNumType,
/// 会话编号,N/A
pub SessionID: TThostFtdcSessionIDType,
/// 请求编号,N/A
pub RequestID: TThostFtdcRequestIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferHeaderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferHeaderField>() ,
96usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferHeaderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferHeaderField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcTransferHeaderField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
Version as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! ( Version
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
TradeCode as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
TradeDate as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
TradeTime as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
TradeSerial as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
TradeSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
FutureID as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
FutureID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
BankID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
BankBrchID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
BankBrchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
OperNo as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! ( OperNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
DeviceID as * const _ as usize } , 75usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
RecordNum as * const _ as usize } , 78usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
RecordNum ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
SessionID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
RequestID as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferHeaderField ) , "::" , stringify ! (
RequestID ) ));
}
impl Clone for CThostFtdcTransferHeaderField {
fn clone(&self) -> Self { *self }
}
/// 银行资金转期货请求,TradeCode=202001
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTransferBankToFutureReqField {
/// 期货资金账户
pub FutureAccount: TThostFtdcAccountIDType,
/// 密码标志
pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
/// 密码
pub FutureAccPwd: TThostFtdcFutureAccPwdType,
/// 转账金额
pub TradeAmt: TThostFtdcMoneyType,
/// 客户手续费
pub CustFee: TThostFtdcMoneyType,
/// 币种:RMB-人民币 USD-美圆 HKD-港元
pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferBankToFutureReqField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferBankToFutureReqField>()
, 56usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferBankToFutureReqField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
) . FutureAccount as * const _ as usize } , 0usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
( FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
) . FuturePwdFlag as * const _ as usize } , 13usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
( FuturePwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
) . FutureAccPwd as * const _ as usize } , 14usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
( FutureAccPwd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
) . TradeAmt as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
( TradeAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
) . CustFee as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
( CustFee ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
) . CurrencyCode as * const _ as usize } , 48usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
( CurrencyCode ) ));
}
impl Clone for CThostFtdcTransferBankToFutureReqField {
fn clone(&self) -> Self { *self }
}
/// 银行资金转期货请求响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTransferBankToFutureRspField {
/// 响应代码
pub RetCode: TThostFtdcRetCodeType,
/// 响应信息
pub RetInfo: TThostFtdcRetInfoType,
/// 资金账户
pub FutureAccount: TThostFtdcAccountIDType,
/// 转帐金额
pub TradeAmt: TThostFtdcMoneyType,
/// 应收客户手续费
pub CustFee: TThostFtdcMoneyType,
/// 币种
pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferBankToFutureRspField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferBankToFutureRspField>()
, 176usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferBankToFutureRspField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
) . RetCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
( RetCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
) . RetInfo as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
( RetInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
) . FutureAccount as * const _ as usize } , 134usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
( FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
) . TradeAmt as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
( TradeAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
) . CustFee as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
( CustFee ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
) . CurrencyCode as * const _ as usize } , 168usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
( CurrencyCode ) ));
}
impl Clone for CThostFtdcTransferBankToFutureRspField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTransferBankToFutureRspField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期货资金转银行请求,TradeCode=202002
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTransferFutureToBankReqField {
/// 期货资金账户
pub FutureAccount: TThostFtdcAccountIDType,
/// 密码标志
pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
/// 密码
pub FutureAccPwd: TThostFtdcFutureAccPwdType,
/// 转账金额
pub TradeAmt: TThostFtdcMoneyType,
/// 客户手续费
pub CustFee: TThostFtdcMoneyType,
/// 币种:RMB-人民币 USD-美圆 HKD-港元
pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferFutureToBankReqField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferFutureToBankReqField>()
, 56usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferFutureToBankReqField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
) . FutureAccount as * const _ as usize } , 0usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
( FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
) . FuturePwdFlag as * const _ as usize } , 13usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
( FuturePwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
) . FutureAccPwd as * const _ as usize } , 14usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
( FutureAccPwd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
) . TradeAmt as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
( TradeAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
) . CustFee as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
( CustFee ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
) . CurrencyCode as * const _ as usize } , 48usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
( CurrencyCode ) ));
}
impl Clone for CThostFtdcTransferFutureToBankReqField {
fn clone(&self) -> Self { *self }
}
/// 期货资金转银行请求响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTransferFutureToBankRspField {
/// 响应代码
pub RetCode: TThostFtdcRetCodeType,
/// 响应信息
pub RetInfo: TThostFtdcRetInfoType,
/// 资金账户
pub FutureAccount: TThostFtdcAccountIDType,
/// 转帐金额
pub TradeAmt: TThostFtdcMoneyType,
/// 应收客户手续费
pub CustFee: TThostFtdcMoneyType,
/// 币种
pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferFutureToBankRspField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferFutureToBankRspField>()
, 176usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferFutureToBankRspField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
) . RetCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
( RetCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
) . RetInfo as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
( RetInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
) . FutureAccount as * const _ as usize } , 134usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
( FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
) . TradeAmt as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
( TradeAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
) . CustFee as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
( CustFee ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
) . CurrencyCode as * const _ as usize } , 168usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
( CurrencyCode ) ));
}
impl Clone for CThostFtdcTransferFutureToBankRspField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTransferFutureToBankRspField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询银行资金请求,TradeCode=204002
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTransferQryBankReqField {
/// 期货资金账户
pub FutureAccount: TThostFtdcAccountIDType,
/// 密码标志
pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
/// 密码
pub FutureAccPwd: TThostFtdcFutureAccPwdType,
/// 币种:RMB-人民币 USD-美圆 HKD-港元
pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferQryBankReqField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryBankReqField>() ,
35usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferQryBankReqField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryBankReqField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferQryBankReqField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
FutureAccount as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
FuturePwdFlag as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
FuturePwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
FutureAccPwd as * const _ as usize } , 14usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
FutureAccPwd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
CurrencyCode as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
CurrencyCode ) ));
}
impl Clone for CThostFtdcTransferQryBankReqField {
fn clone(&self) -> Self { *self }
}
/// 查询银行资金请求响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTransferQryBankRspField {
/// 响应代码
pub RetCode: TThostFtdcRetCodeType,
/// 响应信息
pub RetInfo: TThostFtdcRetInfoType,
/// 资金账户
pub FutureAccount: TThostFtdcAccountIDType,
/// 银行余额
pub TradeAmt: TThostFtdcMoneyType,
/// 银行可用余额
pub UseAmt: TThostFtdcMoneyType,
/// 银行可取余额
pub FetchAmt: TThostFtdcMoneyType,
/// 币种
pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferQryBankRspField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryBankRspField>() ,
184usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferQryBankRspField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryBankRspField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferQryBankRspField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
RetCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
RetCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
RetInfo as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
RetInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
FutureAccount as * const _ as usize } , 134usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
TradeAmt as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
TradeAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
UseAmt as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
UseAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
FetchAmt as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
FetchAmt ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
CurrencyCode as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
CurrencyCode ) ));
}
impl Clone for CThostFtdcTransferQryBankRspField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTransferQryBankRspField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询银行交易明细请求,TradeCode=204999
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTransferQryDetailReqField {
/// 期货资金账户
pub FutureAccount: TThostFtdcAccountIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferQryDetailReqField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryDetailReqField>() ,
13usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferQryDetailReqField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryDetailReqField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferQryDetailReqField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailReqField ) ) .
FutureAccount as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailReqField ) , "::" , stringify ! (
FutureAccount ) ));
}
impl Clone for CThostFtdcTransferQryDetailReqField {
fn clone(&self) -> Self { *self }
}
/// 查询银行交易明细请求响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTransferQryDetailRspField {
/// 交易日期
pub TradeDate: TThostFtdcDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 交易代码
pub TradeCode: TThostFtdcTradeCodeType,
/// 期货流水号
pub FutureSerial: TThostFtdcTradeSerialNoType,
/// 期货公司代码
pub FutureID: TThostFtdcFutureIDType,
/// 资金帐号
pub FutureAccount: TThostFtdcFutureAccountType,
/// 银行流水号
pub BankSerial: TThostFtdcTradeSerialNoType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分中心代码
pub BankBrchID: TThostFtdcBankBrchIDType,
/// 银行账号
pub BankAccount: TThostFtdcBankAccountType,
/// 证件号码
pub CertCode: TThostFtdcCertCodeType,
/// 货币代码
pub CurrencyCode: TThostFtdcCurrencyCodeType,
/// 发生金额
pub TxAmount: TThostFtdcMoneyType,
/// 有效标志
pub Flag: TThostFtdcTransferValidFlagType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferQryDetailRspField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryDetailRspField>() ,
168usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferQryDetailRspField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryDetailRspField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTransferQryDetailRspField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
TradeDate as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
TradeTime as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
TradeCode as * const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
FutureSerial as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
FutureID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
FutureID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
FutureAccount as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
FutureAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
BankSerial as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
BankID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
BankBrchID as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
BankBrchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
BankAccount as * const _ as usize } , 81usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
CertCode as * const _ as usize } , 122usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
CertCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
CurrencyCode as * const _ as usize } , 143usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
CurrencyCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
TxAmount as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
TxAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
Flag as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
Flag ) ));
}
impl Clone for CThostFtdcTransferQryDetailRspField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTransferQryDetailRspField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 响应信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspInfoField {
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspInfoField>() , 88usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcRspInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspInfoField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspInfoField ) ) . ErrorID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcRspInfoField
) , "::" , stringify ! ( ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspInfoField ) ) . ErrorMsg as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcRspInfoField
) , "::" , stringify ! ( ErrorMsg ) ));
}
impl Clone for CThostFtdcRspInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcExchangeField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所名称
pub ExchangeName: TThostFtdcExchangeNameType,
/// 交易所属性
pub ExchangeProperty: TThostFtdcExchangePropertyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeField>() , 71usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcExchangeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeField ) ) . ExchangeID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcExchangeField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeField ) ) .
ExchangeName as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcExchangeField
) , "::" , stringify ! ( ExchangeName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeField ) ) .
ExchangeProperty as * const _ as usize } , 70usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcExchangeField
) , "::" , stringify ! ( ExchangeProperty ) ));
}
impl Clone for CThostFtdcExchangeField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcExchangeField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 产品
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcProductField {
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 产品名称
pub ProductName: TThostFtdcProductNameType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 产品类型
pub ProductClass: TThostFtdcProductClassType,
/// 合约数量乘数
pub VolumeMultiple: TThostFtdcVolumeMultipleType,
/// 最小变动价位
pub PriceTick: TThostFtdcPriceType,
/// 市价单最大下单量
pub MaxMarketOrderVolume: TThostFtdcVolumeType,
/// 市价单最小下单量
pub MinMarketOrderVolume: TThostFtdcVolumeType,
/// 限价单最大下单量
pub MaxLimitOrderVolume: TThostFtdcVolumeType,
/// 限价单最小下单量
pub MinLimitOrderVolume: TThostFtdcVolumeType,
/// 持仓类型
pub PositionType: TThostFtdcPositionTypeType,
/// 持仓日期类型
pub PositionDateType: TThostFtdcPositionDateTypeType,
/// 平仓处理类型
pub CloseDealType: TThostFtdcCloseDealTypeType,
/// 交易币种类型
pub TradeCurrencyID: TThostFtdcCurrencyIDType,
/// 质押资金可用范围
pub MortgageFundUseRange: TThostFtdcMortgageFundUseRangeType,
/// 交易所产品代码
pub ExchangeProductID: TThostFtdcInstrumentIDType,
/// 合约基础商品乘数
pub UnderlyingMultiple: TThostFtdcUnderlyingMultipleType,
}
#[test]
fn bindgen_test_layout_CThostFtdcProductField() {
assert_eq!(::std::mem::size_of::<CThostFtdcProductField>() , 144usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcProductField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcProductField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcProductField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) . ProductID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( ProductID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) . ProductName
as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( ProductName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) . ExchangeID
as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) . ProductClass
as * const _ as usize } , 61usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( ProductClass ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
VolumeMultiple as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( VolumeMultiple ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) . PriceTick as
* const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( PriceTick ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
MaxMarketOrderVolume as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( MaxMarketOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
MinMarketOrderVolume as * const _ as usize } , 84usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( MinMarketOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
MaxLimitOrderVolume as * const _ as usize } , 88usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( MaxLimitOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
MinLimitOrderVolume as * const _ as usize } , 92usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( MinLimitOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) . PositionType
as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( PositionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
PositionDateType as * const _ as usize } , 97usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( PositionDateType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
CloseDealType as * const _ as usize } , 98usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( CloseDealType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
TradeCurrencyID as * const _ as usize } , 99usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( TradeCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
MortgageFundUseRange as * const _ as usize } , 103usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( MortgageFundUseRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
ExchangeProductID as * const _ as usize } , 104usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( ExchangeProductID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductField ) ) .
UnderlyingMultiple as * const _ as usize } , 136usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcProductField
) , "::" , stringify ! ( UnderlyingMultiple ) ));
}
impl Clone for CThostFtdcProductField {
fn clone(&self) -> Self { *self }
}
/// 合约
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约名称
pub InstrumentName: TThostFtdcInstrumentNameType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 产品类型
pub ProductClass: TThostFtdcProductClassType,
/// 交割年份
pub DeliveryYear: TThostFtdcYearType,
/// 交割月
pub DeliveryMonth: TThostFtdcMonthType,
/// 市价单最大下单量
pub MaxMarketOrderVolume: TThostFtdcVolumeType,
/// 市价单最小下单量
pub MinMarketOrderVolume: TThostFtdcVolumeType,
/// 限价单最大下单量
pub MaxLimitOrderVolume: TThostFtdcVolumeType,
/// 限价单最小下单量
pub MinLimitOrderVolume: TThostFtdcVolumeType,
/// 合约数量乘数
pub VolumeMultiple: TThostFtdcVolumeMultipleType,
/// 最小变动价位
pub PriceTick: TThostFtdcPriceType,
/// 创建日
pub CreateDate: TThostFtdcDateType,
/// 上市日
pub OpenDate: TThostFtdcDateType,
/// 到期日
pub ExpireDate: TThostFtdcDateType,
/// 开始交割日
pub StartDelivDate: TThostFtdcDateType,
/// 结束交割日
pub EndDelivDate: TThostFtdcDateType,
/// 合约生命周期状态
pub InstLifePhase: TThostFtdcInstLifePhaseType,
/// 当前是否交易
pub IsTrading: TThostFtdcBoolType,
/// 持仓类型
pub PositionType: TThostFtdcPositionTypeType,
/// 持仓日期类型
pub PositionDateType: TThostFtdcPositionDateTypeType,
/// 多头保证金率
pub LongMarginRatio: TThostFtdcRatioType,
/// 空头保证金率
pub ShortMarginRatio: TThostFtdcRatioType,
/// 是否使用大额单边保证金算法
pub MaxMarginSideAlgorithm: TThostFtdcMaxMarginSideAlgorithmType,
/// 基础商品代码
pub UnderlyingInstrID: TThostFtdcInstrumentIDType,
/// 执行价
pub StrikePrice: TThostFtdcPriceType,
/// 期权类型
pub OptionsType: TThostFtdcOptionsTypeType,
/// 合约基础商品乘数
pub UnderlyingMultiple: TThostFtdcUnderlyingMultipleType,
/// 组合类型
pub CombinationType: TThostFtdcCombinationTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentField>() , 296usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcInstrumentField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcInstrumentField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
InstrumentName as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
InstrumentName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
ExchangeInstID as * const _ as usize } , 61usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) . ProductID
as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( ProductID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
ProductClass as * const _ as usize } , 123usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
ProductClass ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
DeliveryYear as * const _ as usize } , 124usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
DeliveryYear ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
DeliveryMonth as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
DeliveryMonth ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
MaxMarketOrderVolume as * const _ as usize } , 132usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
MaxMarketOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
MinMarketOrderVolume as * const _ as usize } , 136usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
MinMarketOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
MaxLimitOrderVolume as * const _ as usize } , 140usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
MaxLimitOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
MinLimitOrderVolume as * const _ as usize } , 144usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
MinLimitOrderVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
VolumeMultiple as * const _ as usize } , 148usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
VolumeMultiple ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) . PriceTick
as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( PriceTick )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
CreateDate as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( CreateDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) . OpenDate
as * const _ as usize } , 169usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( OpenDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
ExpireDate as * const _ as usize } , 178usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( ExpireDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
StartDelivDate as * const _ as usize } , 187usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
StartDelivDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
EndDelivDate as * const _ as usize } , 196usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
EndDelivDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
InstLifePhase as * const _ as usize } , 205usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
InstLifePhase ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) . IsTrading
as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( IsTrading )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
PositionType as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
PositionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
PositionDateType as * const _ as usize } , 213usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
PositionDateType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
LongMarginRatio as * const _ as usize } , 216usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
LongMarginRatio ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
ShortMarginRatio as * const _ as usize } , 224usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
ShortMarginRatio ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
MaxMarginSideAlgorithm as * const _ as usize } , 232usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
MaxMarginSideAlgorithm ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
UnderlyingInstrID as * const _ as usize } , 233usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
UnderlyingInstrID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
StrikePrice as * const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( StrikePrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
OptionsType as * const _ as usize } , 272usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! ( OptionsType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
UnderlyingMultiple as * const _ as usize } , 280usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
UnderlyingMultiple ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
CombinationType as * const _ as usize } , 288usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentField ) , "::" , stringify ! (
CombinationType ) ));
}
impl Clone for CThostFtdcInstrumentField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBrokerField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 经纪公司简称
pub BrokerAbbr: TThostFtdcBrokerAbbrType,
/// 经纪公司名称
pub BrokerName: TThostFtdcBrokerNameType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerField>() , 108usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcBrokerField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcBrokerField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerField ) ) . BrokerID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
, "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerField ) ) . BrokerAbbr as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
, "::" , stringify ! ( BrokerAbbr ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerField ) ) . BrokerName as
* const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
, "::" , stringify ! ( BrokerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerField ) ) . IsActive as *
const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
, "::" , stringify ! ( IsActive ) ));
}
impl Clone for CThostFtdcBrokerField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBrokerField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所交易员
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTraderField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 安装数量
pub InstallCount: TThostFtdcInstallCountType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTraderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTraderField>() , 100usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcTraderField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcTraderField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcTraderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderField ) ) . ExchangeID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTraderField )
, "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderField ) ) . TraderID as *
const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTraderField )
, "::" , stringify ! ( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderField ) ) . ParticipantID
as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTraderField )
, "::" , stringify ! ( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderField ) ) . Password as *
const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTraderField )
, "::" , stringify ! ( Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderField ) ) . InstallCount
as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTraderField )
, "::" , stringify ! ( InstallCount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderField ) ) . BrokerID as *
const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTraderField )
, "::" , stringify ! ( BrokerID ) ));
}
impl Clone for CThostFtdcTraderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTraderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 投资者
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcInvestorField {
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者分组代码
pub InvestorGroupID: TThostFtdcInvestorIDType,
/// 投资者名称
pub InvestorName: TThostFtdcPartyNameType,
/// 证件类型
pub IdentifiedCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
/// 联系电话
pub Telephone: TThostFtdcTelephoneType,
/// 通讯地址
pub Address: TThostFtdcAddressType,
/// 开户日期
pub OpenDate: TThostFtdcDateType,
/// 手机
pub Mobile: TThostFtdcMobileType,
/// 手续费率模板代码
pub CommModelID: TThostFtdcInvestorIDType,
/// 保证金率模板代码
pub MarginModelID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorField>() , 396usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcInvestorField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcInvestorField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . InvestorID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . BrokerID as
* const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) .
InvestorGroupID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( InvestorGroupID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) .
InvestorName as * const _ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( InvestorName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) .
IdentifiedCardType as * const _ as usize } , 118usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( IdentifiedCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) .
IdentifiedCardNo as * const _ as usize } , 119usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . IsActive as
* const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( IsActive ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . Telephone
as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . Address as
* const _ as usize } , 217usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( Address ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . OpenDate as
* const _ as usize } , 318usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( OpenDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . Mobile as *
const _ as usize } , 327usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( Mobile ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) . CommModelID
as * const _ as usize } , 368usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( CommModelID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorField ) ) .
MarginModelID as * const _ as usize } , 381usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcInvestorField
) , "::" , stringify ! ( MarginModelID ) ));
}
impl Clone for CThostFtdcInvestorField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcInvestorField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易编码
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTradingCodeField {
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
/// 交易编码类型
pub ClientIDType: TThostFtdcClientIDTypeType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 业务类型
pub BizType: TThostFtdcBizTypeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingCodeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingCodeField>() , 76usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcTradingCodeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingCodeField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcTradingCodeField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
InvestorID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . BrokerID
as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . ClientID
as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . IsActive
as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( IsActive )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
ClientIDType as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! (
ClientIDType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . BranchID
as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( BranchID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . BizType
as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! ( BizType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
InvestUnitID as * const _ as usize } , 59usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingCodeField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcTradingCodeField {
fn clone(&self) -> Self { *self }
}
/// 会员编码和经纪公司编码对照表
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcPartBrokerField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcPartBrokerField() {
assert_eq!(::std::mem::size_of::<CThostFtdcPartBrokerField>() , 36usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcPartBrokerField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcPartBrokerField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcPartBrokerField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPartBrokerField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPartBrokerField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPartBrokerField ) ) .
ExchangeID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPartBrokerField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPartBrokerField ) ) .
ParticipantID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPartBrokerField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPartBrokerField ) ) . IsActive
as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPartBrokerField ) , "::" , stringify ! ( IsActive )
));
}
impl Clone for CThostFtdcPartBrokerField {
fn clone(&self) -> Self { *self }
}
/// 管理用户
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcSuperUserField {
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户名称
pub UserName: TThostFtdcUserNameType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSuperUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSuperUserField>() , 144usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcSuperUserField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSuperUserField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcSuperUserField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSuperUserField ) ) . UserID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSuperUserField ) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSuperUserField ) ) . UserName
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSuperUserField ) , "::" , stringify ! ( UserName )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSuperUserField ) ) . Password
as * const _ as usize } , 97usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSuperUserField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSuperUserField ) ) . IsActive
as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSuperUserField ) , "::" , stringify ! ( IsActive )
));
}
impl Clone for CThostFtdcSuperUserField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcSuperUserField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 管理用户功能权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSuperUserFunctionField {
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 功能代码
pub FunctionCode: TThostFtdcFunctionCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSuperUserFunctionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSuperUserFunctionField>() ,
17usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSuperUserFunctionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSuperUserFunctionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSuperUserFunctionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSuperUserFunctionField ) ) .
UserID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSuperUserFunctionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSuperUserFunctionField ) ) .
FunctionCode as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSuperUserFunctionField ) , "::" , stringify ! (
FunctionCode ) ));
}
impl Clone for CThostFtdcSuperUserFunctionField {
fn clone(&self) -> Self { *self }
}
/// 投资者组
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcInvestorGroupField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者分组代码
pub InvestorGroupID: TThostFtdcInvestorIDType,
/// 投资者分组名称
pub InvestorGroupName: TThostFtdcInvestorGroupNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorGroupField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorGroupField>() , 65usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcInvestorGroupField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorGroupField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcInvestorGroupField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorGroupField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorGroupField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorGroupField ) ) .
InvestorGroupID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorGroupField ) , "::" , stringify ! (
InvestorGroupID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorGroupField ) ) .
InvestorGroupName as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorGroupField ) , "::" , stringify ! (
InvestorGroupName ) ));
}
impl Clone for CThostFtdcInvestorGroupField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcInvestorGroupField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 资金账户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTradingAccountField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 上次质押金额
pub PreMortgage: TThostFtdcMoneyType,
/// 上次信用额度
pub PreCredit: TThostFtdcMoneyType,
/// 上次存款额
pub PreDeposit: TThostFtdcMoneyType,
/// 上次结算准备金
pub PreBalance: TThostFtdcMoneyType,
/// 上次占用的保证金
pub PreMargin: TThostFtdcMoneyType,
/// 利息基数
pub InterestBase: TThostFtdcMoneyType,
/// 利息收入
pub Interest: TThostFtdcMoneyType,
/// 入金金额
pub Deposit: TThostFtdcMoneyType,
/// 出金金额
pub Withdraw: TThostFtdcMoneyType,
/// 冻结的保证金
pub FrozenMargin: TThostFtdcMoneyType,
/// 冻结的资金
pub FrozenCash: TThostFtdcMoneyType,
/// 冻结的手续费
pub FrozenCommission: TThostFtdcMoneyType,
/// 当前保证金总额
pub CurrMargin: TThostFtdcMoneyType,
/// 资金差额
pub CashIn: TThostFtdcMoneyType,
/// 手续费
pub Commission: TThostFtdcMoneyType,
/// 平仓盈亏
pub CloseProfit: TThostFtdcMoneyType,
/// 持仓盈亏
pub PositionProfit: TThostFtdcMoneyType,
/// 期货结算准备金
pub Balance: TThostFtdcMoneyType,
/// 可用资金
pub Available: TThostFtdcMoneyType,
/// 可取资金
pub WithdrawQuota: TThostFtdcMoneyType,
/// 基本准备金
pub Reserve: TThostFtdcMoneyType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 信用额度
pub Credit: TThostFtdcMoneyType,
/// 质押金额
pub Mortgage: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchangeMargin: TThostFtdcMoneyType,
/// 投资者交割保证金
pub DeliveryMargin: TThostFtdcMoneyType,
/// 交易所交割保证金
pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
/// 保底期货结算准备金
pub ReserveBalance: TThostFtdcMoneyType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 上次货币质入金额
pub PreFundMortgageIn: TThostFtdcMoneyType,
/// 上次货币质出金额
pub PreFundMortgageOut: TThostFtdcMoneyType,
/// 货币质入金额
pub FundMortgageIn: TThostFtdcMoneyType,
/// 货币质出金额
pub FundMortgageOut: TThostFtdcMoneyType,
/// 货币质押余额
pub FundMortgageAvailable: TThostFtdcMoneyType,
/// 可质押货币金额
pub MortgageableFund: TThostFtdcMoneyType,
/// 特殊产品占用保证金
pub SpecProductMargin: TThostFtdcMoneyType,
/// 特殊产品冻结保证金
pub SpecProductFrozenMargin: TThostFtdcMoneyType,
/// 特殊产品手续费
pub SpecProductCommission: TThostFtdcMoneyType,
/// 特殊产品冻结手续费
pub SpecProductFrozenCommission: TThostFtdcMoneyType,
/// 特殊产品持仓盈亏
pub SpecProductPositionProfit: TThostFtdcMoneyType,
/// 特殊产品平仓盈亏
pub SpecProductCloseProfit: TThostFtdcMoneyType,
/// 根据持仓盈亏算法计算的特殊产品持仓盈亏
pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
/// 特殊产品交易所保证金
pub SpecProductExchangeMargin: TThostFtdcMoneyType,
/// 业务类型
pub BizType: TThostFtdcBizTypeType,
/// 延时换汇冻结金额
pub FrozenSwap: TThostFtdcMoneyType,
/// 剩余换汇额度
pub RemainSwap: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountField>() ,
400usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTradingAccountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcTradingAccountField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreMortgage as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreMortgage ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreCredit as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreCredit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreDeposit as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreDeposit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreBalance as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreBalance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreMargin as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
InterestBase as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
InterestBase ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Interest as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
Interest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Deposit as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! ( Deposit
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Withdraw as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
Withdraw ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FrozenMargin as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FrozenMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FrozenCash as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FrozenCash ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FrozenCommission as * const _ as usize } , 112usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FrozenCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
CurrMargin as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
CurrMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
CashIn as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! ( CashIn
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Commission as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
Commission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
CloseProfit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
CloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PositionProfit as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PositionProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Balance as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! ( Balance
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Available as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
Available ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
WithdrawQuota as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
WithdrawQuota ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Reserve as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! ( Reserve
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
TradingDay as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SettlementID as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Credit as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! ( Credit
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
Mortgage as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
Mortgage ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
ExchangeMargin as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
ExchangeMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
DeliveryMargin as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
DeliveryMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
ExchangeDeliveryMargin as * const _ as usize } , 240usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
ExchangeDeliveryMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
ReserveBalance as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
ReserveBalance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
CurrencyID as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreFundMortgageIn as * const _ as usize } , 264usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreFundMortgageIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
PreFundMortgageOut as * const _ as usize } , 272usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
PreFundMortgageOut ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FundMortgageIn as * const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FundMortgageIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FundMortgageOut as * const _ as usize } , 288usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FundMortgageOut ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FundMortgageAvailable as * const _ as usize } , 296usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FundMortgageAvailable ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
MortgageableFund as * const _ as usize } , 304usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
MortgageableFund ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductMargin as * const _ as usize } , 312usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductFrozenMargin as * const _ as usize } , 320usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductFrozenMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductCommission as * const _ as usize } , 328usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductFrozenCommission as * const _ as usize } , 336usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductFrozenCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductPositionProfit as * const _ as usize } , 344usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductPositionProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductCloseProfit as * const _ as usize } , 352usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductCloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductPositionProfitByAlg as * const _ as usize } ,
360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductPositionProfitByAlg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
SpecProductExchangeMargin as * const _ as usize } , 368usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
SpecProductExchangeMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
BizType as * const _ as usize } , 376usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! ( BizType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
FrozenSwap as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
FrozenSwap ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
RemainSwap as * const _ as usize } , 392usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountField ) , "::" , stringify ! (
RemainSwap ) ));
}
impl Clone for CThostFtdcTradingAccountField {
fn clone(&self) -> Self { *self }
}
/// 投资者持仓
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInvestorPositionField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 持仓多空方向
pub PosiDirection: TThostFtdcPosiDirectionType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 持仓日期
pub PositionDate: TThostFtdcPositionDateType,
/// 上日持仓
pub YdPosition: TThostFtdcVolumeType,
/// 今日持仓
pub Position: TThostFtdcVolumeType,
/// 多头冻结
pub LongFrozen: TThostFtdcVolumeType,
/// 空头冻结
pub ShortFrozen: TThostFtdcVolumeType,
/// 开仓冻结金额
pub LongFrozenAmount: TThostFtdcMoneyType,
/// 开仓冻结金额
pub ShortFrozenAmount: TThostFtdcMoneyType,
/// 开仓量
pub OpenVolume: TThostFtdcVolumeType,
/// 平仓量
pub CloseVolume: TThostFtdcVolumeType,
/// 开仓金额
pub OpenAmount: TThostFtdcMoneyType,
/// 平仓金额
pub CloseAmount: TThostFtdcMoneyType,
/// 持仓成本
pub PositionCost: TThostFtdcMoneyType,
/// 上次占用的保证金
pub PreMargin: TThostFtdcMoneyType,
/// 占用的保证金
pub UseMargin: TThostFtdcMoneyType,
/// 冻结的保证金
pub FrozenMargin: TThostFtdcMoneyType,
/// 冻结的资金
pub FrozenCash: TThostFtdcMoneyType,
/// 冻结的手续费
pub FrozenCommission: TThostFtdcMoneyType,
/// 资金差额
pub CashIn: TThostFtdcMoneyType,
/// 手续费
pub Commission: TThostFtdcMoneyType,
/// 平仓盈亏
pub CloseProfit: TThostFtdcMoneyType,
/// 持仓盈亏
pub PositionProfit: TThostFtdcMoneyType,
/// 上次结算价
pub PreSettlementPrice: TThostFtdcPriceType,
/// 本次结算价
pub SettlementPrice: TThostFtdcPriceType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 开仓成本
pub OpenCost: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchangeMargin: TThostFtdcMoneyType,
/// 组合成交形成的持仓
pub CombPosition: TThostFtdcVolumeType,
/// 组合多头冻结
pub CombLongFrozen: TThostFtdcVolumeType,
/// 组合空头冻结
pub CombShortFrozen: TThostFtdcVolumeType,
/// 逐日盯市平仓盈亏
pub CloseProfitByDate: TThostFtdcMoneyType,
/// 逐笔对冲平仓盈亏
pub CloseProfitByTrade: TThostFtdcMoneyType,
/// 今日持仓
pub TodayPosition: TThostFtdcVolumeType,
/// 保证金率
pub MarginRateByMoney: TThostFtdcRatioType,
/// 保证金率(按手数)
pub MarginRateByVolume: TThostFtdcRatioType,
/// 执行冻结
pub StrikeFrozen: TThostFtdcVolumeType,
/// 执行冻结金额
pub StrikeFrozenAmount: TThostFtdcMoneyType,
/// 放弃执行冻结
pub AbandonFrozen: TThostFtdcVolumeType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行冻结的昨仓
pub YdStrikeFrozen: TThostFtdcVolumeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 大商所持仓成本差值,只有大商所使用
pub PositionCostOffset: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorPositionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorPositionField>() ,
368usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInvestorPositionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorPositionField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInvestorPositionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
BrokerID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
InvestorID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PosiDirection as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PosiDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PositionDate as * const _ as usize } , 57usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PositionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
YdPosition as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
YdPosition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
Position as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
Position ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
LongFrozen as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
LongFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
ShortFrozen as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
ShortFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
LongFrozenAmount as * const _ as usize } , 80usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
LongFrozenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
ShortFrozenAmount as * const _ as usize } , 88usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
ShortFrozenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
OpenVolume as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
OpenVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CloseVolume as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CloseVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
OpenAmount as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
OpenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CloseAmount as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CloseAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PositionCost as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PositionCost ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PreMargin as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PreMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
UseMargin as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
UseMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
FrozenMargin as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
FrozenMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
FrozenCash as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
FrozenCash ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
FrozenCommission as * const _ as usize } , 160usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
FrozenCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CashIn as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CashIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
Commission as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
Commission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CloseProfit as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PositionProfit as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PositionProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PreSettlementPrice as * const _ as usize } , 200usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PreSettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
SettlementPrice as * const _ as usize } , 208usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
SettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
TradingDay as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
SettlementID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
OpenCost as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
OpenCost ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
ExchangeMargin as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
ExchangeMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CombPosition as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CombPosition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CombLongFrozen as * const _ as usize } , 252usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CombLongFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CombShortFrozen as * const _ as usize } , 256usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CombShortFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CloseProfitByDate as * const _ as usize } , 264usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CloseProfitByDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
CloseProfitByTrade as * const _ as usize } , 272usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
CloseProfitByTrade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
TodayPosition as * const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
TodayPosition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
MarginRateByMoney as * const _ as usize } , 288usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
MarginRateByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
MarginRateByVolume as * const _ as usize } , 296usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
MarginRateByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
StrikeFrozen as * const _ as usize } , 304usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
StrikeFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
StrikeFrozenAmount as * const _ as usize } , 312usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
StrikeFrozenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
AbandonFrozen as * const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
AbandonFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
ExchangeID as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
YdStrikeFrozen as * const _ as usize } , 336usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
YdStrikeFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
InvestUnitID as * const _ as usize } , 340usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
PositionCostOffset as * const _ as usize } , 360usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionField ) , "::" , stringify ! (
PositionCostOffset ) ));
}
impl Clone for CThostFtdcInvestorPositionField {
fn clone(&self) -> Self { *self }
}
/// 合约保证金率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentMarginRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 多头保证金率
pub LongMarginRatioByMoney: TThostFtdcRatioType,
/// 多头保证金费
pub LongMarginRatioByVolume: TThostFtdcMoneyType,
/// 空头保证金率
pub ShortMarginRatioByMoney: TThostFtdcRatioType,
/// 空头保证金费
pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 是否相对交易所收取
pub IsRelative: TThostFtdcBoolType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentMarginRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentMarginRateField>() ,
128usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInstrumentMarginRateField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentMarginRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentMarginRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
LongMarginRatioByMoney as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
LongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
LongMarginRatioByVolume as * const _ as usize } , 72usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
LongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
ShortMarginRatioByMoney as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
ShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
ShortMarginRatioByVolume as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
ShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
IsRelative as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
IsRelative ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
ExchangeID as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
InvestUnitID as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcInstrumentMarginRateField {
fn clone(&self) -> Self { *self }
}
/// 合约手续费率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentCommissionRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 开仓手续费率
pub OpenRatioByMoney: TThostFtdcRatioType,
/// 开仓手续费
pub OpenRatioByVolume: TThostFtdcRatioType,
/// 平仓手续费率
pub CloseRatioByMoney: TThostFtdcRatioType,
/// 平仓手续费
pub CloseRatioByVolume: TThostFtdcRatioType,
/// 平今手续费率
pub CloseTodayRatioByMoney: TThostFtdcRatioType,
/// 平今手续费
pub CloseTodayRatioByVolume: TThostFtdcRatioType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 业务类型
pub BizType: TThostFtdcBizTypeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentCommissionRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentCommissionRateField>()
, 136usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentCommissionRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . InvestorRange as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . OpenRatioByMoney as * const _ as usize } , 56usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( OpenRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . OpenRatioByVolume as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( OpenRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . CloseRatioByMoney as * const _ as usize } , 72usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( CloseRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . CloseRatioByVolume as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( CloseRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( CloseTodayRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . CloseTodayRatioByVolume as * const _ as usize } , 96usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( CloseTodayRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . ExchangeID as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . BizType as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( BizType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
) . InvestUnitID as * const _ as usize } , 114usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
( InvestUnitID ) ));
}
impl Clone for CThostFtdcInstrumentCommissionRateField {
fn clone(&self) -> Self { *self }
}
/// 深度行情
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcDepthMarketDataField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 最新价
pub LastPrice: TThostFtdcPriceType,
/// 上次结算价
pub PreSettlementPrice: TThostFtdcPriceType,
/// 昨收盘
pub PreClosePrice: TThostFtdcPriceType,
/// 昨持仓量
pub PreOpenInterest: TThostFtdcLargeVolumeType,
/// 今开盘
pub OpenPrice: TThostFtdcPriceType,
/// 最高价
pub HighestPrice: TThostFtdcPriceType,
/// 最低价
pub LowestPrice: TThostFtdcPriceType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 成交金额
pub Turnover: TThostFtdcMoneyType,
/// 持仓量
pub OpenInterest: TThostFtdcLargeVolumeType,
/// 今收盘
pub ClosePrice: TThostFtdcPriceType,
/// 本次结算价
pub SettlementPrice: TThostFtdcPriceType,
/// 涨停板价
pub UpperLimitPrice: TThostFtdcPriceType,
/// 跌停板价
pub LowerLimitPrice: TThostFtdcPriceType,
/// 昨虚实度
pub PreDelta: TThostFtdcRatioType,
/// 今虚实度
pub CurrDelta: TThostFtdcRatioType,
/// 最后修改时间
pub UpdateTime: TThostFtdcTimeType,
/// 最后修改毫秒
pub UpdateMillisec: TThostFtdcMillisecType,
/// 申买价一
pub BidPrice1: TThostFtdcPriceType,
/// 申买量一
pub BidVolume1: TThostFtdcVolumeType,
/// 申卖价一
pub AskPrice1: TThostFtdcPriceType,
/// 申卖量一
pub AskVolume1: TThostFtdcVolumeType,
/// 申买价二
pub BidPrice2: TThostFtdcPriceType,
/// 申买量二
pub BidVolume2: TThostFtdcVolumeType,
/// 申卖价二
pub AskPrice2: TThostFtdcPriceType,
/// 申卖量二
pub AskVolume2: TThostFtdcVolumeType,
/// 申买价三
pub BidPrice3: TThostFtdcPriceType,
/// 申买量三
pub BidVolume3: TThostFtdcVolumeType,
/// 申卖价三
pub AskPrice3: TThostFtdcPriceType,
/// 申卖量三
pub AskVolume3: TThostFtdcVolumeType,
/// 申买价四
pub BidPrice4: TThostFtdcPriceType,
/// 申买量四
pub BidVolume4: TThostFtdcVolumeType,
/// 申卖价四
pub AskPrice4: TThostFtdcPriceType,
/// 申卖量四
pub AskVolume4: TThostFtdcVolumeType,
/// 申买价五
pub BidPrice5: TThostFtdcPriceType,
/// 申买量五
pub BidVolume5: TThostFtdcVolumeType,
/// 申卖价五
pub AskPrice5: TThostFtdcPriceType,
/// 申卖量五
pub AskVolume5: TThostFtdcVolumeType,
/// 当日均价
pub AveragePrice: TThostFtdcPriceType,
/// 业务日期
pub ActionDay: TThostFtdcDateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcDepthMarketDataField() {
assert_eq!(::std::mem::size_of::<CThostFtdcDepthMarketDataField>() ,
408usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcDepthMarketDataField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcDepthMarketDataField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcDepthMarketDataField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
InstrumentID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
ExchangeID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
ExchangeInstID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
LastPrice as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
LastPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
PreSettlementPrice as * const _ as usize } , 88usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
PreSettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
PreClosePrice as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
PreClosePrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
PreOpenInterest as * const _ as usize } , 104usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
PreOpenInterest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
OpenPrice as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
OpenPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
HighestPrice as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
HighestPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
LowestPrice as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
LowestPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
Volume as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! ( Volume
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
Turnover as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
Turnover ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
OpenInterest as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
OpenInterest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
ClosePrice as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
ClosePrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
SettlementPrice as * const _ as usize } , 168usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
SettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
UpperLimitPrice as * const _ as usize } , 176usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
UpperLimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
LowerLimitPrice as * const _ as usize } , 184usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
LowerLimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
PreDelta as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
PreDelta ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
CurrDelta as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
CurrDelta ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
UpdateTime as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
UpdateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
UpdateMillisec as * const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
UpdateMillisec ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidPrice1 as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidPrice1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidVolume1 as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidVolume1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskPrice1 as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskPrice1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskVolume1 as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskVolume1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidPrice2 as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidPrice2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidVolume2 as * const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidVolume2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskPrice2 as * const _ as usize } , 272usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskPrice2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskVolume2 as * const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskVolume2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidPrice3 as * const _ as usize } , 288usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidPrice3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidVolume3 as * const _ as usize } , 296usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidVolume3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskPrice3 as * const _ as usize } , 304usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskPrice3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskVolume3 as * const _ as usize } , 312usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskVolume3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidPrice4 as * const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidPrice4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidVolume4 as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidVolume4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskPrice4 as * const _ as usize } , 336usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskPrice4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskVolume4 as * const _ as usize } , 344usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskVolume4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidPrice5 as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidPrice5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
BidVolume5 as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
BidVolume5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskPrice5 as * const _ as usize } , 368usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskPrice5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AskVolume5 as * const _ as usize } , 376usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AskVolume5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
AveragePrice as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
AveragePrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
ActionDay as * const _ as usize } , 392usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
ActionDay ) ));
}
impl Clone for CThostFtdcDepthMarketDataField {
fn clone(&self) -> Self { *self }
}
/// 投资者合约交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentTradingRightField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易权限
pub TradingRight: TThostFtdcTradingRightType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentTradingRightField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentTradingRightField>()
, 57usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInstrumentTradingRightField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentTradingRightField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentTradingRightField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
. InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
. BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
. InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
. TradingRight as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
TradingRight ) ));
}
impl Clone for CThostFtdcInstrumentTradingRightField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司用户
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBrokerUserField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户名称
pub UserName: TThostFtdcUserNameType,
/// 用户类型
pub UserType: TThostFtdcUserTypeType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
/// 是否使用令牌
pub IsUsingOTP: TThostFtdcBoolType,
/// 是否强制终端认证
pub IsAuthForce: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserField>() , 124usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerUserField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcBrokerUserField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . UserID as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . UserName
as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( UserName )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . UserType
as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( UserType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . IsActive
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( IsActive )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) .
IsUsingOTP as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( IsUsingOTP
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserField ) ) .
IsAuthForce as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserField ) , "::" , stringify ! ( IsAuthForce
) ));
}
impl Clone for CThostFtdcBrokerUserField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBrokerUserField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 经纪公司用户口令
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBrokerUserPasswordField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 上次修改时间
pub LastUpdateTime: TThostFtdcDateTimeType,
/// 上次登陆时间
pub LastLoginTime: TThostFtdcDateTimeType,
/// 密码过期时间
pub ExpireDate: TThostFtdcDateType,
/// 弱密码过期时间
pub WeakExpireDate: TThostFtdcDateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerUserPasswordField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserPasswordField>() ,
120usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerUserPasswordField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserPasswordField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerUserPasswordField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
Password as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
LastUpdateTime as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
LastUpdateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
LastLoginTime as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
LastLoginTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
ExpireDate as * const _ as usize } , 102usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
ExpireDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
WeakExpireDate as * const _ as usize } , 111usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
WeakExpireDate ) ));
}
impl Clone for CThostFtdcBrokerUserPasswordField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBrokerUserPasswordField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 经纪公司用户功能权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerUserFunctionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 经纪公司功能代码
pub BrokerFunctionCode: TThostFtdcBrokerFunctionCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerUserFunctionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserFunctionField>() ,
28usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerUserFunctionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserFunctionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerUserFunctionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserFunctionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserFunctionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserFunctionField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserFunctionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserFunctionField ) ) .
BrokerFunctionCode as * const _ as usize } , 27usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserFunctionField ) , "::" , stringify ! (
BrokerFunctionCode ) ));
}
impl Clone for CThostFtdcBrokerUserFunctionField {
fn clone(&self) -> Self { *self }
}
/// 交易所交易员报盘机
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTraderOfferField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所交易员连接状态
pub TraderConnectStatus: TThostFtdcTraderConnectStatusType,
/// 发出连接请求的日期
pub ConnectRequestDate: TThostFtdcDateType,
/// 发出连接请求的时间
pub ConnectRequestTime: TThostFtdcTimeType,
/// 上次报告日期
pub LastReportDate: TThostFtdcDateType,
/// 上次报告时间
pub LastReportTime: TThostFtdcTimeType,
/// 完成连接日期
pub ConnectDate: TThostFtdcDateType,
/// 完成连接时间
pub ConnectTime: TThostFtdcTimeType,
/// 启动日期
pub StartDate: TThostFtdcDateType,
/// 启动时间
pub StartTime: TThostFtdcTimeType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 本席位最大成交编号
pub MaxTradeID: TThostFtdcTradeIDType,
/// 本席位最大报单备拷
pub MaxOrderMessageReference: TThostFtdcReturnCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTraderOfferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTraderOfferField>() , 224usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcTraderOfferField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTraderOfferField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcTraderOfferField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) . TraderID
as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( TraderID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
ParticipantID as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) . Password
as * const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
InstallID as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
OrderLocalID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
TraderConnectStatus as * const _ as usize } , 101usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
TraderConnectStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
ConnectRequestDate as * const _ as usize } , 102usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
ConnectRequestDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
ConnectRequestTime as * const _ as usize } , 111usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
ConnectRequestTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
LastReportDate as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
LastReportDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
LastReportTime as * const _ as usize } , 129usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
LastReportTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
ConnectDate as * const _ as usize } , 138usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
ConnectDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
ConnectTime as * const _ as usize } , 147usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
ConnectTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
StartDate as * const _ as usize } , 156usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( StartDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
StartTime as * const _ as usize } , 165usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( StartTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
TradingDay as * const _ as usize } , 174usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) . BrokerID
as * const _ as usize } , 183usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
MaxTradeID as * const _ as usize } , 194usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! ( MaxTradeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
MaxOrderMessageReference as * const _ as usize } , 215usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTraderOfferField ) , "::" , stringify ! (
MaxOrderMessageReference ) ));
}
impl Clone for CThostFtdcTraderOfferField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTraderOfferField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 投资者结算结果
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcSettlementInfoField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 消息正文
pub Content: TThostFtdcContentType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSettlementInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSettlementInfoField>() ,
564usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSettlementInfoField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSettlementInfoField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcSettlementInfoField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
SettlementID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
InvestorID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
SequenceNo as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
Content as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! ( Content
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
AccountID as * const _ as usize } , 545usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
CurrencyID as * const _ as usize } , 558usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcSettlementInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcSettlementInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 合约保证金率调整
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentMarginRateAdjustField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 多头保证金率
pub LongMarginRatioByMoney: TThostFtdcRatioType,
/// 多头保证金费
pub LongMarginRatioByVolume: TThostFtdcMoneyType,
/// 空头保证金率
pub ShortMarginRatioByMoney: TThostFtdcRatioType,
/// 空头保证金费
pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 是否相对交易所收取
pub IsRelative: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentMarginRateAdjustField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentMarginRateAdjustField>()
, 104usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentMarginRateAdjustField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( InvestorRange ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( HedgeFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. LongMarginRatioByMoney as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( LongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. LongMarginRatioByVolume as * const _ as usize } , 72usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( LongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. ShortMarginRatioByMoney as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( ShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. ShortMarginRatioByVolume as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( ShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
. IsRelative as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
! ( IsRelative ) ));
}
impl Clone for CThostFtdcInstrumentMarginRateAdjustField {
fn clone(&self) -> Self { *self }
}
/// 交易所保证金率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeMarginRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 多头保证金率
pub LongMarginRatioByMoney: TThostFtdcRatioType,
/// 多头保证金费
pub LongMarginRatioByVolume: TThostFtdcMoneyType,
/// 空头保证金率
pub ShortMarginRatioByMoney: TThostFtdcRatioType,
/// 空头保证金费
pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeMarginRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeMarginRateField>() ,
96usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeMarginRateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeMarginRateField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeMarginRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
HedgeFlag as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
LongMarginRatioByMoney as * const _ as usize } , 48usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
LongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
LongMarginRatioByVolume as * const _ as usize } , 56usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
LongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
ShortMarginRatioByMoney as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
ShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
ShortMarginRatioByVolume as * const _ as usize } , 72usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
ShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
ExchangeID as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcExchangeMarginRateField {
fn clone(&self) -> Self { *self }
}
/// 交易所保证金率调整
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeMarginRateAdjustField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 跟随交易所投资者多头保证金率
pub LongMarginRatioByMoney: TThostFtdcRatioType,
/// 跟随交易所投资者多头保证金费
pub LongMarginRatioByVolume: TThostFtdcMoneyType,
/// 跟随交易所投资者空头保证金率
pub ShortMarginRatioByMoney: TThostFtdcRatioType,
/// 跟随交易所投资者空头保证金费
pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 交易所多头保证金率
pub ExchLongMarginRatioByMoney: TThostFtdcRatioType,
/// 交易所多头保证金费
pub ExchLongMarginRatioByVolume: TThostFtdcMoneyType,
/// 交易所空头保证金率
pub ExchShortMarginRatioByMoney: TThostFtdcRatioType,
/// 交易所空头保证金费
pub ExchShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 不跟随交易所投资者多头保证金率
pub NoLongMarginRatioByMoney: TThostFtdcRatioType,
/// 不跟随交易所投资者多头保证金费
pub NoLongMarginRatioByVolume: TThostFtdcMoneyType,
/// 不跟随交易所投资者空头保证金率
pub NoShortMarginRatioByMoney: TThostFtdcRatioType,
/// 不跟随交易所投资者空头保证金费
pub NoShortMarginRatioByVolume: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeMarginRateAdjustField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeMarginRateAdjustField>()
, 144usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeMarginRateAdjustField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . InstrumentID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . HedgeFlag as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . LongMarginRatioByMoney as * const _ as usize } , 48usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( LongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . LongMarginRatioByVolume as * const _ as usize } , 56usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( LongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . ShortMarginRatioByMoney as * const _ as usize } , 64usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( ShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . ShortMarginRatioByVolume as * const _ as usize } , 72usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( ShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . ExchLongMarginRatioByMoney as * const _ as usize } ,
80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( ExchLongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . ExchLongMarginRatioByVolume as * const _ as usize } ,
88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( ExchLongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . ExchShortMarginRatioByMoney as * const _ as usize } ,
96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( ExchShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . ExchShortMarginRatioByVolume as * const _ as usize } ,
104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( ExchShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . NoLongMarginRatioByMoney as * const _ as usize } ,
112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( NoLongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . NoLongMarginRatioByVolume as * const _ as usize } ,
120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( NoLongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . NoShortMarginRatioByMoney as * const _ as usize } ,
128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( NoShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
) . NoShortMarginRatioByVolume as * const _ as usize } ,
136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
( NoShortMarginRatioByVolume ) ));
}
impl Clone for CThostFtdcExchangeMarginRateAdjustField {
fn clone(&self) -> Self { *self }
}
/// 汇率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 源币种
pub FromCurrencyID: TThostFtdcCurrencyIDType,
/// 源币种单位数量
pub FromCurrencyUnit: TThostFtdcCurrencyUnitType,
/// 目标币种
pub ToCurrencyID: TThostFtdcCurrencyIDType,
/// 汇率
pub ExchangeRate: TThostFtdcExchangeRateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeRateField>() , 40usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeRateField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcExchangeRateField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeRateField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
FromCurrencyID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeRateField ) , "::" , stringify ! (
FromCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
FromCurrencyUnit as * const _ as usize } , 16usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeRateField ) , "::" , stringify ! (
FromCurrencyUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
ToCurrencyID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeRateField ) , "::" , stringify ! (
ToCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
ExchangeRate as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeRateField ) , "::" , stringify ! (
ExchangeRate ) ));
}
impl Clone for CThostFtdcExchangeRateField {
fn clone(&self) -> Self { *self }
}
/// 结算引用
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSettlementRefField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSettlementRefField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSettlementRefField>() , 16usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcSettlementRefField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSettlementRefField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcSettlementRefField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementRefField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementRefField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementRefField ) ) .
SettlementID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementRefField ) , "::" , stringify ! (
SettlementID ) ));
}
impl Clone for CThostFtdcSettlementRefField {
fn clone(&self) -> Self { *self }
}
/// 当前时间
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCurrentTimeField {
/// 当前日期
pub CurrDate: TThostFtdcDateType,
/// 当前时间
pub CurrTime: TThostFtdcTimeType,
/// 当前时间(毫秒)
pub CurrMillisec: TThostFtdcMillisecType,
/// 业务日期
pub ActionDay: TThostFtdcDateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCurrentTimeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCurrentTimeField>() , 36usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcCurrentTimeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCurrentTimeField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcCurrentTimeField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) . CurrDate
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCurrentTimeField ) , "::" , stringify ! ( CurrDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) . CurrTime
as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCurrentTimeField ) , "::" , stringify ! ( CurrTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) .
CurrMillisec as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCurrentTimeField ) , "::" , stringify ! (
CurrMillisec ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) .
ActionDay as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCurrentTimeField ) , "::" , stringify ! ( ActionDay
) ));
}
impl Clone for CThostFtdcCurrentTimeField {
fn clone(&self) -> Self { *self }
}
/// 通讯阶段
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCommPhaseField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 通讯时段编号
pub CommPhaseNo: TThostFtdcCommPhaseNoType,
/// 系统编号
pub SystemID: TThostFtdcSystemIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCommPhaseField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCommPhaseField>() , 34usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcCommPhaseField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCommPhaseField>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcCommPhaseField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCommPhaseField ) ) . TradingDay
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCommPhaseField ) , "::" , stringify ! ( TradingDay )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCommPhaseField ) ) .
CommPhaseNo as * const _ as usize } , 10usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCommPhaseField ) , "::" , stringify ! ( CommPhaseNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCommPhaseField ) ) . SystemID
as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCommPhaseField ) , "::" , stringify ! ( SystemID )
));
}
impl Clone for CThostFtdcCommPhaseField {
fn clone(&self) -> Self { *self }
}
/// 登录信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcLoginInfoField {
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 登录日期
pub LoginDate: TThostFtdcDateType,
/// 登录时间
pub LoginTime: TThostFtdcTimeType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 接口端产品信息
pub InterfaceProductInfo: TThostFtdcProductInfoType,
/// 协议信息
pub ProtocolInfo: TThostFtdcProtocolInfoType,
/// 系统名称
pub SystemName: TThostFtdcSystemNameType,
/// 密码,已弃用
pub PasswordDeprecated: TThostFtdcPasswordType,
/// 最大报单引用
pub MaxOrderRef: TThostFtdcOrderRefType,
/// 上期所时间
pub SHFETime: TThostFtdcTimeType,
/// 大商所时间
pub DCETime: TThostFtdcTimeType,
/// 郑商所时间
pub CZCETime: TThostFtdcTimeType,
/// 中金所时间
pub FFEXTime: TThostFtdcTimeType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 动态密码
pub OneTimePassword: TThostFtdcPasswordType,
/// 能源中心时间
pub INETime: TThostFtdcTimeType,
/// 查询时是否需要流控
pub IsQryControl: TThostFtdcBoolType,
/// 登录备注
pub LoginRemark: TThostFtdcLoginRemarkType,
/// 密码
pub Password: TThostFtdcPasswordType,
}
#[test]
fn bindgen_test_layout_CThostFtdcLoginInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcLoginInfoField>() , 388usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcLoginInfoField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcLoginInfoField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcLoginInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . FrontID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . SessionID
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . BrokerID
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . UserID as
* const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . LoginDate
as * const _ as usize } , 35usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( LoginDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . LoginTime
as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( LoginTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . IPAddress
as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( IPAddress )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
UserProductInfo as * const _ as usize } , 69usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
InterfaceProductInfo as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! (
InterfaceProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
ProtocolInfo as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( ProtocolInfo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . SystemName
as * const _ as usize } , 102usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( SystemName )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
PasswordDeprecated as * const _ as usize } , 143usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! (
PasswordDeprecated ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
MaxOrderRef as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( MaxOrderRef
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . SHFETime
as * const _ as usize } , 197usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( SHFETime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . DCETime as
* const _ as usize } , 206usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( DCETime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . CZCETime
as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( CZCETime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . FFEXTime
as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( FFEXTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . MacAddress
as * const _ as usize } , 233usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( MacAddress )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
OneTimePassword as * const _ as usize } , 254usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! (
OneTimePassword ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . INETime as
* const _ as usize } , 295usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( INETime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
IsQryControl as * const _ as usize } , 304usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( IsQryControl
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
LoginRemark as * const _ as usize } , 308usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( LoginRemark
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . Password
as * const _ as usize } , 344usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginInfoField ) , "::" , stringify ! ( Password )
));
}
impl Clone for CThostFtdcLoginInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcLoginInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 登录信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcLogoutAllField {
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 系统名称
pub SystemName: TThostFtdcSystemNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcLogoutAllField() {
assert_eq!(::std::mem::size_of::<CThostFtdcLogoutAllField>() , 52usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcLogoutAllField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcLogoutAllField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcLogoutAllField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLogoutAllField ) ) . FrontID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLogoutAllField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLogoutAllField ) ) . SessionID
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLogoutAllField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLogoutAllField ) ) . SystemName
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLogoutAllField ) , "::" , stringify ! ( SystemName )
));
}
impl Clone for CThostFtdcLogoutAllField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcLogoutAllField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 前置状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcFrontStatusField {
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 上次报告日期
pub LastReportDate: TThostFtdcDateType,
/// 上次报告时间
pub LastReportTime: TThostFtdcTimeType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcFrontStatusField() {
assert_eq!(::std::mem::size_of::<CThostFtdcFrontStatusField>() , 28usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcFrontStatusField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcFrontStatusField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcFrontStatusField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFrontStatusField ) ) . FrontID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFrontStatusField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFrontStatusField ) ) .
LastReportDate as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFrontStatusField ) , "::" , stringify ! (
LastReportDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFrontStatusField ) ) .
LastReportTime as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFrontStatusField ) , "::" , stringify ! (
LastReportTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFrontStatusField ) ) . IsActive
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFrontStatusField ) , "::" , stringify ! ( IsActive )
));
}
impl Clone for CThostFtdcFrontStatusField {
fn clone(&self) -> Self { *self }
}
/// 用户口令变更
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcUserPasswordUpdateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 原来的口令
pub OldPassword: TThostFtdcPasswordType,
/// 新的口令
pub NewPassword: TThostFtdcPasswordType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserPasswordUpdateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserPasswordUpdateField>() ,
109usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcUserPasswordUpdateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcUserPasswordUpdateField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcUserPasswordUpdateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
OldPassword as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
OldPassword ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
NewPassword as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
NewPassword ) ));
}
impl Clone for CThostFtdcUserPasswordUpdateField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcUserPasswordUpdateField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 输入报单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 报单价格条件
pub OrderPriceType: TThostFtdcOrderPriceTypeType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 组合开平标志
pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
/// 组合投机套保标志
pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量
pub VolumeTotalOriginal: TThostFtdcVolumeType,
/// 有效期类型
pub TimeCondition: TThostFtdcTimeConditionType,
/// GTD日期
pub GTDDate: TThostFtdcDateType,
/// 成交量类型
pub VolumeCondition: TThostFtdcVolumeConditionType,
/// 最小成交量
pub MinVolume: TThostFtdcVolumeType,
/// 触发条件
pub ContingentCondition: TThostFtdcContingentConditionType,
/// 止损价
pub StopPrice: TThostFtdcPriceType,
/// 强平原因
pub ForceCloseReason: TThostFtdcForceCloseReasonType,
/// 自动挂起标志
pub IsAutoSuspend: TThostFtdcBoolType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 用户强评标志
pub UserForceClose: TThostFtdcBoolType,
/// 互换单标志
pub IsSwapOrder: TThostFtdcBoolType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputOrderField>() , 272usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcInputOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputOrderField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcInputOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . OrderRef
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( OrderRef )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . UserID as
* const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
OrderPriceType as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
OrderPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . Direction
as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( Direction )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
CombOffsetFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
CombOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
CombHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
LimitPrice as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( LimitPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
VolumeTotalOriginal as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
VolumeTotalOriginal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
TimeCondition as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
TimeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . GTDDate
as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( GTDDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
VolumeCondition as * const _ as usize } , 118usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
VolumeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . MinVolume
as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( MinVolume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
ContingentCondition as * const _ as usize } , 124usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
ContingentCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . StopPrice
as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( StopPrice )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
ForceCloseReason as * const _ as usize } , 136usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
ForceCloseReason ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
IsAutoSuspend as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
IsAutoSuspend ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
BusinessUnit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . RequestID
as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
UserForceClose as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
UserForceClose ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
IsSwapOrder as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( IsSwapOrder
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
ExchangeID as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
InvestUnitID as * const _ as usize } , 189usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . AccountID
as * const _ as usize } , 206usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( AccountID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
CurrencyID as * const _ as usize } , 219usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( CurrencyID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . ClientID
as * const _ as usize } , 223usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) . IPAddress
as * const _ as usize } , 234usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( IPAddress )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
MacAddress as * const _ as usize } , 250usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderField ) , "::" , stringify ! ( MacAddress
) ));
}
impl Clone for CThostFtdcInputOrderField {
fn clone(&self) -> Self { *self }
}
/// 报单
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 报单价格条件
pub OrderPriceType: TThostFtdcOrderPriceTypeType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 组合开平标志
pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
/// 组合投机套保标志
pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量
pub VolumeTotalOriginal: TThostFtdcVolumeType,
/// 有效期类型
pub TimeCondition: TThostFtdcTimeConditionType,
/// GTD日期
pub GTDDate: TThostFtdcDateType,
/// 成交量类型
pub VolumeCondition: TThostFtdcVolumeConditionType,
/// 最小成交量
pub MinVolume: TThostFtdcVolumeType,
/// 触发条件
pub ContingentCondition: TThostFtdcContingentConditionType,
/// 止损价
pub StopPrice: TThostFtdcPriceType,
/// 强平原因
pub ForceCloseReason: TThostFtdcForceCloseReasonType,
/// 自动挂起标志
pub IsAutoSuspend: TThostFtdcBoolType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报单提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 报单来源
pub OrderSource: TThostFtdcOrderSourceType,
/// 报单状态
pub OrderStatus: TThostFtdcOrderStatusType,
/// 报单类型
pub OrderType: TThostFtdcOrderTypeType,
/// 今成交数量
pub VolumeTraded: TThostFtdcVolumeType,
/// 剩余数量
pub VolumeTotal: TThostFtdcVolumeType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 委托时间
pub InsertTime: TThostFtdcTimeType,
/// 激活时间
pub ActiveTime: TThostFtdcTimeType,
/// 挂起时间
pub SuspendTime: TThostFtdcTimeType,
/// 最后修改时间
pub UpdateTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 最后修改交易所交易员代码
pub ActiveTraderID: TThostFtdcTraderIDType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 用户强评标志
pub UserForceClose: TThostFtdcBoolType,
/// 操作用户代码
pub ActiveUserID: TThostFtdcUserIDType,
/// 经纪公司报单编号
pub BrokerOrderSeq: TThostFtdcSequenceNoType,
/// 相关报单
pub RelativeOrderSysID: TThostFtdcOrderSysIDType,
/// 郑商所成交数量
pub ZCETotalTradedVolume: TThostFtdcVolumeType,
/// 互换单标志
pub IsSwapOrder: TThostFtdcBoolType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOrderField>() , 656usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcOrderField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcOrderField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . BrokerID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . InvestorID as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . InstrumentID
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderRef as *
const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . UserID as *
const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderPriceType
as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . Direction as *
const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . CombOffsetFlag
as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( CombOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . CombHedgeFlag
as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( CombHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . LimitPrice as
* const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
VolumeTotalOriginal as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( VolumeTotalOriginal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . TimeCondition
as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( TimeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . GTDDate as *
const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( GTDDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
VolumeCondition as * const _ as usize } , 118usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( VolumeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . MinVolume as *
const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( MinVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
ContingentCondition as * const _ as usize } , 124usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ContingentCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . StopPrice as *
const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( StopPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
ForceCloseReason as * const _ as usize } , 136usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ForceCloseReason ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . IsAutoSuspend
as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( IsAutoSuspend ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . BusinessUnit
as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . RequestID as *
const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderLocalID
as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ExchangeID as
* const _ as usize } , 185usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ParticipantID
as * const _ as usize } , 194usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ClientID as *
const _ as usize } , 205usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ExchangeInstID
as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . TraderID as *
const _ as usize } , 247usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . InstallID as *
const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
OrderSubmitStatus as * const _ as usize } , 272usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . NotifySequence
as * const _ as usize } , 276usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . TradingDay as
* const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . SettlementID
as * const _ as usize } , 292usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderSysID as
* const _ as usize } , 296usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderSource as
* const _ as usize } , 317usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderSource ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderStatus as
* const _ as usize } , 318usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderType as *
const _ as usize } , 319usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( OrderType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . VolumeTraded
as * const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( VolumeTraded ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . VolumeTotal as
* const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( VolumeTotal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . InsertDate as
* const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . InsertTime as
* const _ as usize } , 337usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ActiveTime as
* const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ActiveTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . SuspendTime as
* const _ as usize } , 355usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( SuspendTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . UpdateTime as
* const _ as usize } , 364usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( UpdateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . CancelTime as
* const _ as usize } , 373usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ActiveTraderID
as * const _ as usize } , 382usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ActiveTraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ClearingPartID
as * const _ as usize } , 403usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . SequenceNo as
* const _ as usize } , 416usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . FrontID as *
const _ as usize } , 420usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . SessionID as *
const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
UserProductInfo as * const _ as usize } , 428usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . StatusMsg as *
const _ as usize } , 439usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . UserForceClose
as * const _ as usize } , 520usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( UserForceClose ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . ActiveUserID
as * const _ as usize } , 524usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ActiveUserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . BrokerOrderSeq
as * const _ as usize } , 540usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( BrokerOrderSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
RelativeOrderSysID as * const _ as usize } , 544usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( RelativeOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) .
ZCETotalTradedVolume as * const _ as usize } , 568usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( ZCETotalTradedVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . IsSwapOrder as
* const _ as usize } , 572usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( IsSwapOrder ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . BranchID as *
const _ as usize } , 576usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . InvestUnitID
as * const _ as usize } , 585usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . AccountID as *
const _ as usize } , 602usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . CurrencyID as
* const _ as usize } , 615usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . IPAddress as *
const _ as usize } , 619usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderField ) ) . MacAddress as
* const _ as usize } , 635usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcOrderField )
, "::" , stringify ! ( MacAddress ) ));
}
impl Clone for CThostFtdcOrderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcOrderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所报单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeOrderField {
/// 报单价格条件
pub OrderPriceType: TThostFtdcOrderPriceTypeType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 组合开平标志
pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
/// 组合投机套保标志
pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量
pub VolumeTotalOriginal: TThostFtdcVolumeType,
/// 有效期类型
pub TimeCondition: TThostFtdcTimeConditionType,
/// GTD日期
pub GTDDate: TThostFtdcDateType,
/// 成交量类型
pub VolumeCondition: TThostFtdcVolumeConditionType,
/// 最小成交量
pub MinVolume: TThostFtdcVolumeType,
/// 触发条件
pub ContingentCondition: TThostFtdcContingentConditionType,
/// 止损价
pub StopPrice: TThostFtdcPriceType,
/// 强平原因
pub ForceCloseReason: TThostFtdcForceCloseReasonType,
/// 自动挂起标志
pub IsAutoSuspend: TThostFtdcBoolType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报单提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 报单来源
pub OrderSource: TThostFtdcOrderSourceType,
/// 报单状态
pub OrderStatus: TThostFtdcOrderStatusType,
/// 报单类型
pub OrderType: TThostFtdcOrderTypeType,
/// 今成交数量
pub VolumeTraded: TThostFtdcVolumeType,
/// 剩余数量
pub VolumeTotal: TThostFtdcVolumeType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 委托时间
pub InsertTime: TThostFtdcTimeType,
/// 激活时间
pub ActiveTime: TThostFtdcTimeType,
/// 挂起时间
pub SuspendTime: TThostFtdcTimeType,
/// 最后修改时间
pub UpdateTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 最后修改交易所交易员代码
pub ActiveTraderID: TThostFtdcTraderIDType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderField>() ,
392usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcExchangeOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderPriceType as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
Direction as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
CombOffsetFlag as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
CombOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
CombHedgeFlag as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
CombHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
LimitPrice as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
VolumeTotalOriginal as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
VolumeTotalOriginal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
TimeCondition as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
TimeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
GTDDate as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! ( GTDDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
VolumeCondition as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
VolumeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
MinVolume as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
MinVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ContingentCondition as * const _ as usize } , 44usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ContingentCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
StopPrice as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
StopPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ForceCloseReason as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ForceCloseReason ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
IsAutoSuspend as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
IsAutoSuspend ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
BusinessUnit as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
RequestID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderLocalID as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ExchangeID as * const _ as usize } , 105usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ParticipantID as * const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ClientID as * const _ as usize } , 125usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! ( ClientID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ExchangeInstID as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
TraderID as * const _ as usize } , 167usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! ( TraderID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
InstallID as * const _ as usize } , 188usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderSubmitStatus as * const _ as usize } , 192usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
NotifySequence as * const _ as usize } , 196usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
TradingDay as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
SettlementID as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderSysID as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderSource as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderSource ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderStatus as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
OrderType as * const _ as usize } , 239usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
OrderType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
VolumeTraded as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
VolumeTraded ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
VolumeTotal as * const _ as usize } , 244usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
VolumeTotal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
InsertDate as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
InsertTime as * const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ActiveTime as * const _ as usize } , 266usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ActiveTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
SuspendTime as * const _ as usize } , 275usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
SuspendTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
UpdateTime as * const _ as usize } , 284usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
UpdateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
CancelTime as * const _ as usize } , 293usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ActiveTraderID as * const _ as usize } , 302usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ActiveTraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
ClearingPartID as * const _ as usize } , 323usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
SequenceNo as * const _ as usize } , 336usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
BranchID as * const _ as usize } , 340usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! ( BranchID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
IPAddress as * const _ as usize } , 349usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
MacAddress as * const _ as usize } , 365usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExchangeOrderField {
fn clone(&self) -> Self { *self }
}
/// 交易所报单插入失败
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcExchangeOrderInsertErrorField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeOrderInsertErrorField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderInsertErrorField>()
, 152usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderInsertErrorField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . ParticipantID as * const _ as usize } , 9usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . TraderID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . InstallID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . OrderLocalID as * const _ as usize } , 48usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . ErrorID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
) . ErrorMsg as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
( ErrorMsg ) ));
}
impl Clone for CThostFtdcExchangeOrderInsertErrorField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcExchangeOrderInsertErrorField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 输入报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报单操作引用
pub OrderActionRef: TThostFtdcOrderActionRefType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量变化
pub VolumeChange: TThostFtdcVolumeType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputOrderActionField>() ,
208usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcInputOrderActionField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInputOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
OrderActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
OrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
OrderRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
OrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
LimitPrice as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
VolumeChange as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
VolumeChange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
UserID as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
InstrumentID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 147usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
IPAddress as * const _ as usize } , 164usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
MacAddress as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 报单操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报单操作引用
pub OrderActionRef: TThostFtdcOrderActionRefType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量变化
pub VolumeChange: TThostFtdcVolumeType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOrderActionField>() , 408usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOrderActionField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcOrderActionField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
OrderActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
OrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . OrderRef
as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( OrderRef )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . FrontID
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
OrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( OrderSysID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( ActionFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
LimitPrice as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( LimitPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
VolumeChange as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
VolumeChange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
ActionDate as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( ActionDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
ActionTime as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( ActionTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . TraderID
as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( TraderID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
InstallID as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
OrderLocalID as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
ActionLocalID as * const _ as usize } , 157usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
ParticipantID as * const _ as usize } , 170usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . ClientID
as * const _ as usize } , 181usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
BusinessUnit as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
OrderActionStatus as * const _ as usize } , 213usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . UserID
as * const _ as usize } , 214usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
StatusMsg as * const _ as usize } , 230usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( StatusMsg
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
InstrumentID as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) . BranchID
as * const _ as usize } , 342usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( BranchID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 351usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
IPAddress as * const _ as usize } , 368usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( IPAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
MacAddress as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOrderActionField ) , "::" , stringify ! ( MacAddress
) ));
}
impl Clone for CThostFtdcOrderActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcOrderActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeOrderActionField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量变化
pub VolumeChange: TThostFtdcVolumeType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderActionField>() ,
224usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeOrderActionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderActionField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
OrderSysID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ActionFlag as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
LimitPrice as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
VolumeChange as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
VolumeChange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ActionDate as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ActionTime as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
TraderID as * const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
InstallID as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
OrderLocalID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ActionLocalID as * const _ as usize } , 101usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ParticipantID as * const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
ClientID as * const _ as usize } , 125usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
BusinessUnit as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
OrderActionStatus as * const _ as usize } , 157usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
UserID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
BranchID as * const _ as usize } , 174usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
IPAddress as * const _ as usize } , 183usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
MacAddress as * const _ as usize } , 199usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExchangeOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所报单操作失败
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcExchangeOrderActionErrorField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeOrderActionErrorField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderActionErrorField>()
, 172usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderActionErrorField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . OrderSysID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . TraderID as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . InstallID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . OrderLocalID as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . ActionLocalID as * const _ as usize } , 69usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . ErrorID as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
) . ErrorMsg as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
( ErrorMsg ) ));
}
impl Clone for CThostFtdcExchangeOrderActionErrorField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcExchangeOrderActionErrorField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所成交
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeTradeField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 成交编号
pub TradeID: TThostFtdcTradeIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 交易角色
pub TradingRole: TThostFtdcTradingRoleType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 价格
pub Price: TThostFtdcPriceType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 成交时期
pub TradeDate: TThostFtdcDateType,
/// 成交时间
pub TradeTime: TThostFtdcTimeType,
/// 成交类型
pub TradeType: TThostFtdcTradeTypeType,
/// 成交价来源
pub PriceSource: TThostFtdcPriceSourceType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 成交来源
pub TradeSource: TThostFtdcTradeSourceType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeTradeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeTradeField>() ,
224usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeTradeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeTradeField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcExchangeTradeField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TradeID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! ( TradeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
Direction as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
OrderSysID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
ParticipantID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
ClientID as * const _ as usize } , 63usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! ( ClientID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TradingRole as * const _ as usize } , 74usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
TradingRole ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
ExchangeInstID as * const _ as usize } , 75usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
OffsetFlag as * const _ as usize } , 106usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
OffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
HedgeFlag as * const _ as usize } , 107usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) . Price
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! ( Price )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) . Volume
as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! ( Volume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TradeDate as * const _ as usize } , 124usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TradeTime as * const _ as usize } , 133usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TradeType as * const _ as usize } , 142usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
TradeType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
PriceSource as * const _ as usize } , 143usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
PriceSource ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TraderID as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! ( TraderID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
OrderLocalID as * const _ as usize } , 165usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
ClearingPartID as * const _ as usize } , 178usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
BusinessUnit as * const _ as usize } , 189usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
SequenceNo as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
TradeSource as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeTradeField ) , "::" , stringify ! (
TradeSource ) ));
}
impl Clone for CThostFtdcExchangeTradeField {
fn clone(&self) -> Self { *self }
}
/// 成交
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTradeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 成交编号
pub TradeID: TThostFtdcTradeIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 交易角色
pub TradingRole: TThostFtdcTradingRoleType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 价格
pub Price: TThostFtdcPriceType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 成交时期
pub TradeDate: TThostFtdcDateType,
/// 成交时间
pub TradeTime: TThostFtdcTimeType,
/// 成交类型
pub TradeType: TThostFtdcTradeTypeType,
/// 成交价来源
pub PriceSource: TThostFtdcPriceSourceType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 经纪公司报单编号
pub BrokerOrderSeq: TThostFtdcSequenceNoType,
/// 成交来源
pub TradeSource: TThostFtdcTradeSourceType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradeField>() , 336usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcTradeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcTradeField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcTradeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . BrokerID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . InvestorID as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . InstrumentID
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . OrderRef as *
const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . UserID as *
const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . ExchangeID as
* const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeID as *
const _ as usize } , 93usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . Direction as *
const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . OrderSysID as
* const _ as usize } , 115usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . ParticipantID
as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . ClientID as *
const _ as usize } , 147usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradingRole as
* const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradingRole ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . ExchangeInstID
as * const _ as usize } , 159usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . OffsetFlag as
* const _ as usize } , 190usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( OffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . HedgeFlag as *
const _ as usize } , 191usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . Price as *
const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( Price ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . Volume as *
const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeDate as *
const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeTime as *
const _ as usize } , 213usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeType as *
const _ as usize } , 222usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradeType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . PriceSource as
* const _ as usize } , 223usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( PriceSource ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TraderID as *
const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . OrderLocalID
as * const _ as usize } , 245usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . ClearingPartID
as * const _ as usize } , 258usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . BusinessUnit
as * const _ as usize } , 269usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . SequenceNo as
* const _ as usize } , 292usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradingDay as
* const _ as usize } , 296usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . SettlementID
as * const _ as usize } , 308usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . BrokerOrderSeq
as * const _ as usize } , 312usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( BrokerOrderSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeSource as
* const _ as usize } , 316usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( TradeSource ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeField ) ) . InvestUnitID
as * const _ as usize } , 317usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcTradeField )
, "::" , stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcTradeField {
fn clone(&self) -> Self { *self }
}
/// 用户会话
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcUserSessionField {
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 登录日期
pub LoginDate: TThostFtdcDateType,
/// 登录时间
pub LoginTime: TThostFtdcTimeType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 接口端产品信息
pub InterfaceProductInfo: TThostFtdcProductInfoType,
/// 协议信息
pub ProtocolInfo: TThostFtdcProtocolInfoType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 登录备注
pub LoginRemark: TThostFtdcLoginRemarkType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserSessionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserSessionField>() , 160usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcUserSessionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcUserSessionField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcUserSessionField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) . FrontID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
SessionID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) . BrokerID
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) . UserID
as * const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
LoginDate as * const _ as usize } , 35usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( LoginDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
LoginTime as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( LoginTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
IPAddress as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( IPAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
UserProductInfo as * const _ as usize } , 69usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
InterfaceProductInfo as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! (
InterfaceProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
ProtocolInfo as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! (
ProtocolInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
MacAddress as * const _ as usize } , 102usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! ( MacAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
LoginRemark as * const _ as usize } , 123usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSessionField ) , "::" , stringify ! (
LoginRemark ) ));
}
impl Clone for CThostFtdcUserSessionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcUserSessionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询最大报单数量
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQueryMaxOrderVolumeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 最大允许报单数量
pub MaxVolume: TThostFtdcVolumeType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQueryMaxOrderVolumeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQueryMaxOrderVolumeField>() ,
92usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQueryMaxOrderVolumeField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQueryMaxOrderVolumeField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
Direction as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
OffsetFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
OffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
HedgeFlag as * const _ as usize } , 57usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
MaxVolume as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
MaxVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
ExchangeID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
InvestUnitID as * const _ as usize } , 73usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQueryMaxOrderVolumeField {
fn clone(&self) -> Self { *self }
}
/// 投资者结算结果确认信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSettlementInfoConfirmField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 确认日期
pub ConfirmDate: TThostFtdcDateType,
/// 确认时间
pub ConfirmTime: TThostFtdcTimeType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSettlementInfoConfirmField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSettlementInfoConfirmField>() ,
68usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSettlementInfoConfirmField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. ConfirmDate as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
ConfirmDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. ConfirmTime as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
ConfirmTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. SettlementID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. AccountID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
. CurrencyID as * const _ as usize } , 61usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcSettlementInfoConfirmField {
fn clone(&self) -> Self { *self }
}
/// 出入金同步
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncDepositField {
/// 出入金流水号
pub DepositSeqNo: TThostFtdcDepositSeqNoType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 入金金额
pub Deposit: TThostFtdcMoneyType,
/// 是否强制进行
pub IsForce: TThostFtdcBoolType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncDepositField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncDepositField>() , 56usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncDepositField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncDepositField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcSyncDepositField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDepositField ) ) .
DepositSeqNo as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDepositField ) , "::" , stringify ! (
DepositSeqNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDepositField ) ) . BrokerID
as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDepositField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDepositField ) ) .
InvestorID as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDepositField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDepositField ) ) . Deposit
as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDepositField ) , "::" , stringify ! ( Deposit )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDepositField ) ) . IsForce
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDepositField ) , "::" , stringify ! ( IsForce )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDepositField ) ) .
CurrencyID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDepositField ) , "::" , stringify ! ( CurrencyID
) ));
}
impl Clone for CThostFtdcSyncDepositField {
fn clone(&self) -> Self { *self }
}
/// 货币质押同步
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncFundMortgageField {
/// 货币质押流水号
pub MortgageSeqNo: TThostFtdcDepositSeqNoType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 源币种
pub FromCurrencyID: TThostFtdcCurrencyIDType,
/// 质押金额
pub MortgageAmount: TThostFtdcMoneyType,
/// 目标币种
pub ToCurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncFundMortgageField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncFundMortgageField>() ,
64usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncFundMortgageField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncFundMortgageField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncFundMortgageField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
MortgageSeqNo as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
MortgageSeqNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
BrokerID as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
InvestorID as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
FromCurrencyID as * const _ as usize } , 39usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
FromCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
MortgageAmount as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
MortgageAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
ToCurrencyID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
ToCurrencyID ) ));
}
impl Clone for CThostFtdcSyncFundMortgageField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司同步
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerSyncField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerSyncField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerSyncField>() , 11usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerSyncField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerSyncField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcBrokerSyncField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerSyncField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerSyncField ) , "::" , stringify ! ( BrokerID )
));
}
impl Clone for CThostFtdcBrokerSyncField {
fn clone(&self) -> Self { *self }
}
/// 正在同步中的投资者
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcSyncingInvestorField {
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者分组代码
pub InvestorGroupID: TThostFtdcInvestorIDType,
/// 投资者名称
pub InvestorName: TThostFtdcPartyNameType,
/// 证件类型
pub IdentifiedCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
/// 联系电话
pub Telephone: TThostFtdcTelephoneType,
/// 通讯地址
pub Address: TThostFtdcAddressType,
/// 开户日期
pub OpenDate: TThostFtdcDateType,
/// 手机
pub Mobile: TThostFtdcMobileType,
/// 手续费率模板代码
pub CommModelID: TThostFtdcInvestorIDType,
/// 保证金率模板代码
pub MarginModelID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingInvestorField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInvestorField>() ,
396usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncingInvestorField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInvestorField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcSyncingInvestorField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
InvestorID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
BrokerID as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
InvestorGroupID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
InvestorGroupID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
InvestorName as * const _ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
InvestorName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
IdentifiedCardType as * const _ as usize } , 118usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
IdentifiedCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
IdentifiedCardNo as * const _ as usize } , 119usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
IsActive as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
IsActive ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
Telephone as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
Address as * const _ as usize } , 217usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
Address ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
OpenDate as * const _ as usize } , 318usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
OpenDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
Mobile as * const _ as usize } , 327usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! ( Mobile
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
CommModelID as * const _ as usize } , 368usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
CommModelID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
MarginModelID as * const _ as usize } , 381usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
MarginModelID ) ));
}
impl Clone for CThostFtdcSyncingInvestorField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcSyncingInvestorField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 正在同步中的交易代码
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncingTradingCodeField {
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
/// 交易编码类型
pub ClientIDType: TThostFtdcClientIDTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingTradingCodeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingTradingCodeField>() ,
52usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncingTradingCodeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingTradingCodeField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingTradingCodeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
InvestorID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
BrokerID as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
ClientID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
IsActive as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
IsActive ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
ClientIDType as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
ClientIDType ) ));
}
impl Clone for CThostFtdcSyncingTradingCodeField {
fn clone(&self) -> Self { *self }
}
/// 正在同步中的投资者分组
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcSyncingInvestorGroupField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者分组代码
pub InvestorGroupID: TThostFtdcInvestorIDType,
/// 投资者分组名称
pub InvestorGroupName: TThostFtdcInvestorGroupNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingInvestorGroupField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInvestorGroupField>() ,
65usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncingInvestorGroupField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInvestorGroupField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingInvestorGroupField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorGroupField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorGroupField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorGroupField ) ) .
InvestorGroupID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorGroupField ) , "::" , stringify ! (
InvestorGroupID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorGroupField ) ) .
InvestorGroupName as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorGroupField ) , "::" , stringify ! (
InvestorGroupName ) ));
}
impl Clone for CThostFtdcSyncingInvestorGroupField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcSyncingInvestorGroupField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 正在同步中的交易账号
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncingTradingAccountField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 上次质押金额
pub PreMortgage: TThostFtdcMoneyType,
/// 上次信用额度
pub PreCredit: TThostFtdcMoneyType,
/// 上次存款额
pub PreDeposit: TThostFtdcMoneyType,
/// 上次结算准备金
pub PreBalance: TThostFtdcMoneyType,
/// 上次占用的保证金
pub PreMargin: TThostFtdcMoneyType,
/// 利息基数
pub InterestBase: TThostFtdcMoneyType,
/// 利息收入
pub Interest: TThostFtdcMoneyType,
/// 入金金额
pub Deposit: TThostFtdcMoneyType,
/// 出金金额
pub Withdraw: TThostFtdcMoneyType,
/// 冻结的保证金
pub FrozenMargin: TThostFtdcMoneyType,
/// 冻结的资金
pub FrozenCash: TThostFtdcMoneyType,
/// 冻结的手续费
pub FrozenCommission: TThostFtdcMoneyType,
/// 当前保证金总额
pub CurrMargin: TThostFtdcMoneyType,
/// 资金差额
pub CashIn: TThostFtdcMoneyType,
/// 手续费
pub Commission: TThostFtdcMoneyType,
/// 平仓盈亏
pub CloseProfit: TThostFtdcMoneyType,
/// 持仓盈亏
pub PositionProfit: TThostFtdcMoneyType,
/// 期货结算准备金
pub Balance: TThostFtdcMoneyType,
/// 可用资金
pub Available: TThostFtdcMoneyType,
/// 可取资金
pub WithdrawQuota: TThostFtdcMoneyType,
/// 基本准备金
pub Reserve: TThostFtdcMoneyType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 信用额度
pub Credit: TThostFtdcMoneyType,
/// 质押金额
pub Mortgage: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchangeMargin: TThostFtdcMoneyType,
/// 投资者交割保证金
pub DeliveryMargin: TThostFtdcMoneyType,
/// 交易所交割保证金
pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
/// 保底期货结算准备金
pub ReserveBalance: TThostFtdcMoneyType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 上次货币质入金额
pub PreFundMortgageIn: TThostFtdcMoneyType,
/// 上次货币质出金额
pub PreFundMortgageOut: TThostFtdcMoneyType,
/// 货币质入金额
pub FundMortgageIn: TThostFtdcMoneyType,
/// 货币质出金额
pub FundMortgageOut: TThostFtdcMoneyType,
/// 货币质押余额
pub FundMortgageAvailable: TThostFtdcMoneyType,
/// 可质押货币金额
pub MortgageableFund: TThostFtdcMoneyType,
/// 特殊产品占用保证金
pub SpecProductMargin: TThostFtdcMoneyType,
/// 特殊产品冻结保证金
pub SpecProductFrozenMargin: TThostFtdcMoneyType,
/// 特殊产品手续费
pub SpecProductCommission: TThostFtdcMoneyType,
/// 特殊产品冻结手续费
pub SpecProductFrozenCommission: TThostFtdcMoneyType,
/// 特殊产品持仓盈亏
pub SpecProductPositionProfit: TThostFtdcMoneyType,
/// 特殊产品平仓盈亏
pub SpecProductCloseProfit: TThostFtdcMoneyType,
/// 根据持仓盈亏算法计算的特殊产品持仓盈亏
pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
/// 特殊产品交易所保证金
pub SpecProductExchangeMargin: TThostFtdcMoneyType,
/// 延时换汇冻结金额
pub FrozenSwap: TThostFtdcMoneyType,
/// 剩余换汇额度
pub RemainSwap: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingTradingAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingTradingAccountField>() ,
392usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingTradingAccountField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingTradingAccountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreMortgage as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreMortgage ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreCredit as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreCredit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreDeposit as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreDeposit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreBalance as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreBalance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreMargin as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. InterestBase as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
InterestBase ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Interest as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Interest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Deposit as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Deposit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Withdraw as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Withdraw ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FrozenMargin as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FrozenMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FrozenCash as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FrozenCash ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FrozenCommission as * const _ as usize } , 112usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FrozenCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. CurrMargin as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
CurrMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. CashIn as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
CashIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Commission as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Commission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. CloseProfit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
CloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PositionProfit as * const _ as usize } , 152usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PositionProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Balance as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Balance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Available as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Available ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. WithdrawQuota as * const _ as usize } , 176usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
WithdrawQuota ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Reserve as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Reserve ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. TradingDay as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SettlementID as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Credit as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Credit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. Mortgage as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
Mortgage ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. ExchangeMargin as * const _ as usize } , 224usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
ExchangeMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. DeliveryMargin as * const _ as usize } , 232usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
DeliveryMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. ExchangeDeliveryMargin as * const _ as usize } , 240usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
ExchangeDeliveryMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. ReserveBalance as * const _ as usize } , 248usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
ReserveBalance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. CurrencyID as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreFundMortgageIn as * const _ as usize } , 264usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreFundMortgageIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. PreFundMortgageOut as * const _ as usize } , 272usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
PreFundMortgageOut ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FundMortgageIn as * const _ as usize } , 280usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FundMortgageIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FundMortgageOut as * const _ as usize } , 288usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FundMortgageOut ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FundMortgageAvailable as * const _ as usize } , 296usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FundMortgageAvailable ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. MortgageableFund as * const _ as usize } , 304usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
MortgageableFund ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductMargin as * const _ as usize } , 312usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductFrozenMargin as * const _ as usize } , 320usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductFrozenMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductCommission as * const _ as usize } , 328usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductFrozenCommission as * const _ as usize } ,
336usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductFrozenCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductPositionProfit as * const _ as usize } , 344usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductPositionProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductCloseProfit as * const _ as usize } , 352usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductCloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductPositionProfitByAlg as * const _ as usize } ,
360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductPositionProfitByAlg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. SpecProductExchangeMargin as * const _ as usize } , 368usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
SpecProductExchangeMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. FrozenSwap as * const _ as usize } , 376usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
FrozenSwap ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
. RemainSwap as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
RemainSwap ) ));
}
impl Clone for CThostFtdcSyncingTradingAccountField {
fn clone(&self) -> Self { *self }
}
/// 正在同步中的投资者持仓
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncingInvestorPositionField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 持仓多空方向
pub PosiDirection: TThostFtdcPosiDirectionType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 持仓日期
pub PositionDate: TThostFtdcPositionDateType,
/// 上日持仓
pub YdPosition: TThostFtdcVolumeType,
/// 今日持仓
pub Position: TThostFtdcVolumeType,
/// 多头冻结
pub LongFrozen: TThostFtdcVolumeType,
/// 空头冻结
pub ShortFrozen: TThostFtdcVolumeType,
/// 开仓冻结金额
pub LongFrozenAmount: TThostFtdcMoneyType,
/// 开仓冻结金额
pub ShortFrozenAmount: TThostFtdcMoneyType,
/// 开仓量
pub OpenVolume: TThostFtdcVolumeType,
/// 平仓量
pub CloseVolume: TThostFtdcVolumeType,
/// 开仓金额
pub OpenAmount: TThostFtdcMoneyType,
/// 平仓金额
pub CloseAmount: TThostFtdcMoneyType,
/// 持仓成本
pub PositionCost: TThostFtdcMoneyType,
/// 上次占用的保证金
pub PreMargin: TThostFtdcMoneyType,
/// 占用的保证金
pub UseMargin: TThostFtdcMoneyType,
/// 冻结的保证金
pub FrozenMargin: TThostFtdcMoneyType,
/// 冻结的资金
pub FrozenCash: TThostFtdcMoneyType,
/// 冻结的手续费
pub FrozenCommission: TThostFtdcMoneyType,
/// 资金差额
pub CashIn: TThostFtdcMoneyType,
/// 手续费
pub Commission: TThostFtdcMoneyType,
/// 平仓盈亏
pub CloseProfit: TThostFtdcMoneyType,
/// 持仓盈亏
pub PositionProfit: TThostFtdcMoneyType,
/// 上次结算价
pub PreSettlementPrice: TThostFtdcPriceType,
/// 本次结算价
pub SettlementPrice: TThostFtdcPriceType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 开仓成本
pub OpenCost: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchangeMargin: TThostFtdcMoneyType,
/// 组合成交形成的持仓
pub CombPosition: TThostFtdcVolumeType,
/// 组合多头冻结
pub CombLongFrozen: TThostFtdcVolumeType,
/// 组合空头冻结
pub CombShortFrozen: TThostFtdcVolumeType,
/// 逐日盯市平仓盈亏
pub CloseProfitByDate: TThostFtdcMoneyType,
/// 逐笔对冲平仓盈亏
pub CloseProfitByTrade: TThostFtdcMoneyType,
/// 今日持仓
pub TodayPosition: TThostFtdcVolumeType,
/// 保证金率
pub MarginRateByMoney: TThostFtdcRatioType,
/// 保证金率(按手数)
pub MarginRateByVolume: TThostFtdcRatioType,
/// 执行冻结
pub StrikeFrozen: TThostFtdcVolumeType,
/// 执行冻结金额
pub StrikeFrozenAmount: TThostFtdcMoneyType,
/// 放弃执行冻结
pub AbandonFrozen: TThostFtdcVolumeType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行冻结的昨仓
pub YdStrikeFrozen: TThostFtdcVolumeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 大商所持仓成本差值,只有大商所使用
pub PositionCostOffset: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingInvestorPositionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInvestorPositionField>()
, 368usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInvestorPositionField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . BrokerID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . InvestorID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PosiDirection as * const _ as usize } , 55usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PosiDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PositionDate as * const _ as usize } , 57usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PositionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . YdPosition as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( YdPosition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . Position as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( Position ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . LongFrozen as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( LongFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . ShortFrozen as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( ShortFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . LongFrozenAmount as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( LongFrozenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . ShortFrozenAmount as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( ShortFrozenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . OpenVolume as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( OpenVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CloseVolume as * const _ as usize } , 100usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CloseVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . OpenAmount as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( OpenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CloseAmount as * const _ as usize } , 112usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CloseAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PositionCost as * const _ as usize } , 120usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PositionCost ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PreMargin as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PreMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . UseMargin as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( UseMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . FrozenMargin as * const _ as usize } , 144usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( FrozenMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . FrozenCash as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( FrozenCash ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . FrozenCommission as * const _ as usize } , 160usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( FrozenCommission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CashIn as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CashIn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . Commission as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( Commission ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CloseProfit as * const _ as usize } , 184usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PositionProfit as * const _ as usize } , 192usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PositionProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PreSettlementPrice as * const _ as usize } , 200usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PreSettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . SettlementPrice as * const _ as usize } , 208usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( SettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . TradingDay as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . SettlementID as * const _ as usize } , 228usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . OpenCost as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( OpenCost ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . ExchangeMargin as * const _ as usize } , 240usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( ExchangeMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CombPosition as * const _ as usize } , 248usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CombPosition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CombLongFrozen as * const _ as usize } , 252usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CombLongFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CombShortFrozen as * const _ as usize } , 256usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CombShortFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CloseProfitByDate as * const _ as usize } , 264usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CloseProfitByDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . CloseProfitByTrade as * const _ as usize } , 272usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( CloseProfitByTrade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . TodayPosition as * const _ as usize } , 280usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( TodayPosition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . MarginRateByMoney as * const _ as usize } , 288usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( MarginRateByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . MarginRateByVolume as * const _ as usize } , 296usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( MarginRateByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . StrikeFrozen as * const _ as usize } , 304usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( StrikeFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . StrikeFrozenAmount as * const _ as usize } , 312usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( StrikeFrozenAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . AbandonFrozen as * const _ as usize } , 320usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( AbandonFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . ExchangeID as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . YdStrikeFrozen as * const _ as usize } , 336usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( YdStrikeFrozen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . InvestUnitID as * const _ as usize } , 340usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
) . PositionCostOffset as * const _ as usize } , 360usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
( PositionCostOffset ) ));
}
impl Clone for CThostFtdcSyncingInvestorPositionField {
fn clone(&self) -> Self { *self }
}
/// 正在同步中的合约保证金率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncingInstrumentMarginRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 多头保证金率
pub LongMarginRatioByMoney: TThostFtdcRatioType,
/// 多头保证金费
pub LongMarginRatioByVolume: TThostFtdcMoneyType,
/// 空头保证金率
pub ShortMarginRatioByMoney: TThostFtdcRatioType,
/// 空头保证金费
pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 是否相对交易所收取
pub IsRelative: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingInstrumentMarginRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInstrumentMarginRateField>()
, 104usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInstrumentMarginRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . InvestorRange as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( InvestorRange ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( HedgeFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . LongMarginRatioByMoney as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( LongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . LongMarginRatioByVolume as * const _ as usize } , 72usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( LongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . ShortMarginRatioByMoney as * const _ as usize } , 80usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( ShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . ShortMarginRatioByVolume as * const _ as usize } , 88usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( ShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
) . IsRelative as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
stringify ! ( IsRelative ) ));
}
impl Clone for CThostFtdcSyncingInstrumentMarginRateField {
fn clone(&self) -> Self { *self }
}
/// 正在同步中的合约手续费率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncingInstrumentCommissionRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 开仓手续费率
pub OpenRatioByMoney: TThostFtdcRatioType,
/// 开仓手续费
pub OpenRatioByVolume: TThostFtdcRatioType,
/// 平仓手续费率
pub CloseRatioByMoney: TThostFtdcRatioType,
/// 平仓手续费
pub CloseRatioByVolume: TThostFtdcRatioType,
/// 平今手续费率
pub CloseTodayRatioByMoney: TThostFtdcRatioType,
/// 平今手续费
pub CloseTodayRatioByVolume: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingInstrumentCommissionRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInstrumentCommissionRateField>()
, 104usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInstrumentCommissionRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . InvestorRange as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( InvestorRange ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . OpenRatioByMoney as * const _ as usize } , 56usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( OpenRatioByMoney ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . OpenRatioByVolume as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( OpenRatioByVolume ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . CloseRatioByMoney as * const _ as usize } , 72usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( CloseRatioByMoney ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . CloseRatioByVolume as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( CloseRatioByVolume ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( CloseTodayRatioByMoney ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
) . CloseTodayRatioByVolume as * const _ as usize } , 96usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
stringify ! ( CloseTodayRatioByVolume ) ));
}
impl Clone for CThostFtdcSyncingInstrumentCommissionRateField {
fn clone(&self) -> Self { *self }
}
/// 正在同步中的合约交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncingInstrumentTradingRightField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易权限
pub TradingRight: TThostFtdcTradingRightType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncingInstrumentTradingRightField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInstrumentTradingRightField>()
, 57usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInstrumentTradingRightField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
) ) . InstrumentID as * const _ as usize } , 0usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
) ) . InvestorRange as * const _ as usize } , 31usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
stringify ! ( InvestorRange ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
) ) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
) ) . InvestorID as * const _ as usize } , 43usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
) ) . TradingRight as * const _ as usize } , 56usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
stringify ! ( TradingRight ) ));
}
impl Clone for CThostFtdcSyncingInstrumentTradingRightField {
fn clone(&self) -> Self { *self }
}
/// 查询报单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 开始时间
pub InsertTimeStart: TThostFtdcTimeType,
/// 结束时间
pub InsertTimeEnd: TThostFtdcTimeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOrderField>() , 120usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOrderField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) . ExchangeID
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) . OrderSysID
as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
InsertTimeStart as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( InsertTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( InsertTimeEnd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
InvestUnitID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
) , "::" , stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryOrderField {
fn clone(&self) -> Self { *self }
}
/// 查询成交
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTradeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 成交编号
pub TradeID: TThostFtdcTradeIDType,
/// 开始时间
pub TradeTimeStart: TThostFtdcTimeType,
/// 结束时间
pub TradeTimeEnd: TThostFtdcTimeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTradeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTradeField>() , 120usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTradeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTradeField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryTradeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) . ExchangeID
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) . TradeID as
* const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( TradeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
TradeTimeStart as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( TradeTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
TradeTimeEnd as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( TradeTimeEnd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
InvestUnitID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
) , "::" , stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryTradeField {
fn clone(&self) -> Self { *self }
}
/// 查询投资者持仓
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestorPositionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestorPositionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorPositionField>() ,
81usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryInvestorPositionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorPositionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInvestorPositionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInvestorPositionField {
fn clone(&self) -> Self { *self }
}
/// 查询资金账户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTradingAccountField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 业务类型
pub BizType: TThostFtdcBizTypeType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTradingAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTradingAccountField>() ,
42usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTradingAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTradingAccountField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryTradingAccountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
CurrencyID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
BizType as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
BizType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
AccountID as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
AccountID ) ));
}
impl Clone for CThostFtdcQryTradingAccountField {
fn clone(&self) -> Self { *self }
}
/// 查询投资者
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestorField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestorField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorField>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryInvestorField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryInvestorField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorField ) , "::" , stringify ! ( InvestorID
) ));
}
impl Clone for CThostFtdcQryInvestorField {
fn clone(&self) -> Self { *self }
}
/// 查询交易编码
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTradingCodeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 交易编码类型
pub ClientIDType: TThostFtdcClientIDTypeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTradingCodeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTradingCodeField>() ,
62usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTradingCodeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTradingCodeField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryTradingCodeField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
ClientID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
ClientIDType as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
ClientIDType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
InvestUnitID as * const _ as usize } , 45usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryTradingCodeField {
fn clone(&self) -> Self { *self }
}
/// 查询投资者组
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestorGroupField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestorGroupField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorGroupField>() ,
11usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryInvestorGroupField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorGroupField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInvestorGroupField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestorGroupField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorGroupField ) , "::" , stringify ! (
BrokerID ) ));
}
impl Clone for CThostFtdcQryInvestorGroupField {
fn clone(&self) -> Self { *self }
}
/// 查询合约保证金率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInstrumentMarginRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInstrumentMarginRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentMarginRateField>()
, 82usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentMarginRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
) . InstrumentID as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
) . HedgeFlag as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
) . ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
) . InvestUnitID as * const _ as usize } , 65usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInstrumentMarginRateField {
fn clone(&self) -> Self { *self }
}
/// 查询手续费率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInstrumentCommissionRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInstrumentCommissionRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentCommissionRateField>()
, 81usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentCommissionRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
) . InstrumentID as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
) . ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
) . InvestUnitID as * const _ as usize } , 64usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInstrumentCommissionRateField {
fn clone(&self) -> Self { *self }
}
/// 查询合约交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInstrumentTradingRightField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInstrumentTradingRightField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentTradingRightField>()
, 55usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInstrumentTradingRightField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentTradingRightField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInstrumentTradingRightField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentTradingRightField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentTradingRightField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentTradingRightField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentTradingRightField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentTradingRightField ) )
. InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentTradingRightField ) , "::" , stringify
! ( InstrumentID ) ));
}
impl Clone for CThostFtdcQryInstrumentTradingRightField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBrokerField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBrokerField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerField>() , 11usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryBrokerField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryBrokerField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerField ) , "::" , stringify ! ( BrokerID )
));
}
impl Clone for CThostFtdcQryBrokerField {
fn clone(&self) -> Self { *self }
}
/// 查询交易员
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTraderField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTraderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTraderField>() , 41usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTraderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTraderField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryTraderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTraderField ) ) . ExchangeID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTraderField ) , "::" , stringify ! ( ExchangeID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTraderField ) ) .
ParticipantID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTraderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTraderField ) ) . TraderID
as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTraderField ) , "::" , stringify ! ( TraderID )
));
}
impl Clone for CThostFtdcQryTraderField {
fn clone(&self) -> Self { *self }
}
/// 查询管理用户功能权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySuperUserFunctionField {
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySuperUserFunctionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySuperUserFunctionField>() ,
16usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySuperUserFunctionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySuperUserFunctionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySuperUserFunctionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySuperUserFunctionField ) ) .
UserID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySuperUserFunctionField ) , "::" , stringify ! (
UserID ) ));
}
impl Clone for CThostFtdcQrySuperUserFunctionField {
fn clone(&self) -> Self { *self }
}
/// 查询用户会话
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryUserSessionField {
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryUserSessionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryUserSessionField>() ,
36usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryUserSessionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryUserSessionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryUserSessionField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
FrontID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryUserSessionField ) , "::" , stringify ! ( FrontID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
SessionID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryUserSessionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
BrokerID as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryUserSessionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
UserID as * const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryUserSessionField ) , "::" , stringify ! ( UserID
) ));
}
impl Clone for CThostFtdcQryUserSessionField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司会员代码
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryPartBrokerField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryPartBrokerField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryPartBrokerField>() , 31usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryPartBrokerField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryPartBrokerField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryPartBrokerField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryPartBrokerField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryPartBrokerField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryPartBrokerField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryPartBrokerField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryPartBrokerField ) ) .
ParticipantID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryPartBrokerField ) , "::" , stringify ! (
ParticipantID ) ));
}
impl Clone for CThostFtdcQryPartBrokerField {
fn clone(&self) -> Self { *self }
}
/// 查询前置状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryFrontStatusField {
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryFrontStatusField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryFrontStatusField>() , 4usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryFrontStatusField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryFrontStatusField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryFrontStatusField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryFrontStatusField ) ) .
FrontID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryFrontStatusField ) , "::" , stringify ! ( FrontID
) ));
}
impl Clone for CThostFtdcQryFrontStatusField {
fn clone(&self) -> Self { *self }
}
/// 查询交易所报单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeOrderField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeOrderField>() ,
83usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeOrderField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeOrderField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
ExchangeInstID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
ExchangeID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
TraderID as * const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeOrderField {
fn clone(&self) -> Self { *self }
}
/// 查询报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOrderActionField>() ,
33usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOrderActionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryOrderActionField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOrderActionField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 查询交易所报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeOrderActionField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeOrderActionField>()
, 52usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryExchangeOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeOrderActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
. ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
. ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
. ExchangeID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
. TraderID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 查询管理用户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySuperUserField {
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySuperUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySuperUserField>() , 16usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySuperUserField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySuperUserField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQrySuperUserField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySuperUserField ) ) . UserID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySuperUserField ) , "::" , stringify ! ( UserID )
));
}
impl Clone for CThostFtdcQrySuperUserField {
fn clone(&self) -> Self { *self }
}
/// 查询交易所
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeField>() , 9usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryExchangeField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeField ) , "::" , stringify ! ( ExchangeID
) ));
}
impl Clone for CThostFtdcQryExchangeField {
fn clone(&self) -> Self { *self }
}
/// 查询产品
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryProductField {
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 产品类型
pub ProductClass: TThostFtdcProductClassType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryProductField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryProductField>() , 41usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryProductField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryProductField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryProductField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductField ) ) . ProductID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductField ) , "::" , stringify ! ( ProductID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductField ) ) .
ProductClass as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductField ) , "::" , stringify ! (
ProductClass ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductField ) ) .
ExchangeID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductField ) , "::" , stringify ! ( ExchangeID
) ));
}
impl Clone for CThostFtdcQryProductField {
fn clone(&self) -> Self { *self }
}
/// 查询合约
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInstrumentField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInstrumentField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentField>() ,
102usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryInstrumentField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryInstrumentField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
ExchangeInstID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
ProductID as * const _ as usize } , 71usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentField ) , "::" , stringify ! (
ProductID ) ));
}
impl Clone for CThostFtdcQryInstrumentField {
fn clone(&self) -> Self { *self }
}
/// 查询行情
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryDepthMarketDataField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryDepthMarketDataField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryDepthMarketDataField>() ,
40usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryDepthMarketDataField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryDepthMarketDataField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryDepthMarketDataField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryDepthMarketDataField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryDepthMarketDataField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryDepthMarketDataField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryDepthMarketDataField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryDepthMarketDataField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司用户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBrokerUserField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBrokerUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerUserField>() , 27usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryBrokerUserField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerUserField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryBrokerUserField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserField ) ) . UserID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserField ) , "::" , stringify ! ( UserID )
));
}
impl Clone for CThostFtdcQryBrokerUserField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司用户权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBrokerUserFunctionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBrokerUserFunctionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerUserFunctionField>() ,
27usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryBrokerUserFunctionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerUserFunctionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryBrokerUserFunctionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserFunctionField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserFunctionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserFunctionField ) )
. UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserFunctionField ) , "::" , stringify ! (
UserID ) ));
}
impl Clone for CThostFtdcQryBrokerUserFunctionField {
fn clone(&self) -> Self { *self }
}
/// 查询交易员报盘机
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTraderOfferField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTraderOfferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTraderOfferField>() ,
41usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTraderOfferField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTraderOfferField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryTraderOfferField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTraderOfferField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTraderOfferField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTraderOfferField ) ) .
ParticipantID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTraderOfferField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTraderOfferField ) ) .
TraderID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTraderOfferField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryTraderOfferField {
fn clone(&self) -> Self { *self }
}
/// 查询出入金流水
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySyncDepositField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 出入金流水号
pub DepositSeqNo: TThostFtdcDepositSeqNoType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySyncDepositField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncDepositField>() ,
26usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySyncDepositField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncDepositField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQrySyncDepositField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncDepositField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncDepositField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncDepositField ) ) .
DepositSeqNo as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncDepositField ) , "::" , stringify ! (
DepositSeqNo ) ));
}
impl Clone for CThostFtdcQrySyncDepositField {
fn clone(&self) -> Self { *self }
}
/// 查询投资者结算结果
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySettlementInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySettlementInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySettlementInfoField>() ,
50usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySettlementInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySettlementInfoField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySettlementInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
TradingDay as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
AccountID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
CurrencyID as * const _ as usize } , 46usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcQrySettlementInfoField {
fn clone(&self) -> Self { *self }
}
/// 查询交易所保证金率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeMarginRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeMarginRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeMarginRateField>() ,
52usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryExchangeMarginRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeMarginRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeMarginRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
. InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
. HedgeFlag as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
. ExchangeID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryExchangeMarginRateField {
fn clone(&self) -> Self { *self }
}
/// 查询交易所调整保证金率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeMarginRateAdjustField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeMarginRateAdjustField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeMarginRateAdjustField>()
, 43usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryExchangeMarginRateAdjustField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeMarginRateAdjustField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeMarginRateAdjustField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeMarginRateAdjustField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateAdjustField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeMarginRateAdjustField )
) . InstrumentID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateAdjustField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeMarginRateAdjustField )
) . HedgeFlag as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeMarginRateAdjustField ) , "::" ,
stringify ! ( HedgeFlag ) ));
}
impl Clone for CThostFtdcQryExchangeMarginRateAdjustField {
fn clone(&self) -> Self { *self }
}
/// 查询汇率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 源币种
pub FromCurrencyID: TThostFtdcCurrencyIDType,
/// 目标币种
pub ToCurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeRateField>() ,
19usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeRateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeRateField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryExchangeRateField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeRateField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeRateField ) ) .
FromCurrencyID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeRateField ) , "::" , stringify ! (
FromCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeRateField ) ) .
ToCurrencyID as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeRateField ) , "::" , stringify ! (
ToCurrencyID ) ));
}
impl Clone for CThostFtdcQryExchangeRateField {
fn clone(&self) -> Self { *self }
}
/// 查询货币质押流水
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySyncFundMortgageField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 货币质押流水号
pub MortgageSeqNo: TThostFtdcDepositSeqNoType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySyncFundMortgageField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncFundMortgageField>() ,
26usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySyncFundMortgageField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncFundMortgageField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySyncFundMortgageField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncFundMortgageField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncFundMortgageField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncFundMortgageField ) ) .
MortgageSeqNo as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncFundMortgageField ) , "::" , stringify ! (
MortgageSeqNo ) ));
}
impl Clone for CThostFtdcQrySyncFundMortgageField {
fn clone(&self) -> Self { *self }
}
/// 查询报单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryHisOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 开始时间
pub InsertTimeStart: TThostFtdcTimeType,
/// 结束时间
pub InsertTimeEnd: TThostFtdcTimeType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryHisOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryHisOrderField>() , 116usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryHisOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryHisOrderField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryHisOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
OrderSysID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! ( OrderSysID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
InsertTimeStart as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! (
InsertTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! (
InsertTimeEnd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
TradingDay as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
SettlementID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryHisOrderField ) , "::" , stringify ! (
SettlementID ) ));
}
impl Clone for CThostFtdcQryHisOrderField {
fn clone(&self) -> Self { *self }
}
/// 当前期权合约最小保证金
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcOptionInstrMiniMarginField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 单位(手)期权合约最小保证金
pub MinMargin: TThostFtdcMoneyType,
/// 取值方式
pub ValueMethod: TThostFtdcValueMethodType,
/// 是否跟随交易所收取
pub IsRelative: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionInstrMiniMarginField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrMiniMarginField>() ,
72usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrMiniMarginField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. MinMargin as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
MinMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. ValueMethod as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
ValueMethod ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
. IsRelative as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
IsRelative ) ));
}
impl Clone for CThostFtdcOptionInstrMiniMarginField {
fn clone(&self) -> Self { *self }
}
/// 当前期权合约保证金调整系数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcOptionInstrMarginAdjustField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机空头保证金调整系数
pub SShortMarginRatioByMoney: TThostFtdcRatioType,
/// 投机空头保证金调整系数
pub SShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 保值空头保证金调整系数
pub HShortMarginRatioByMoney: TThostFtdcRatioType,
/// 保值空头保证金调整系数
pub HShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 套利空头保证金调整系数
pub AShortMarginRatioByMoney: TThostFtdcRatioType,
/// 套利空头保证金调整系数
pub AShortMarginRatioByVolume: TThostFtdcMoneyType,
/// 是否跟随交易所收取
pub IsRelative: TThostFtdcBoolType,
/// 做市商空头保证金调整系数
pub MShortMarginRatioByMoney: TThostFtdcRatioType,
/// 做市商空头保证金调整系数
pub MShortMarginRatioByVolume: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionInstrMarginAdjustField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrMarginAdjustField>()
, 128usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrMarginAdjustField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . InvestorRange as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . SShortMarginRatioByMoney as * const _ as usize } , 56usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( SShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . SShortMarginRatioByVolume as * const _ as usize } ,
64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( SShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . HShortMarginRatioByMoney as * const _ as usize } , 72usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( HShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . HShortMarginRatioByVolume as * const _ as usize } ,
80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( HShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . AShortMarginRatioByMoney as * const _ as usize } , 88usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( AShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . AShortMarginRatioByVolume as * const _ as usize } ,
96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( AShortMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . IsRelative as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( IsRelative ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . MShortMarginRatioByMoney as * const _ as usize } ,
112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( MShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
) . MShortMarginRatioByVolume as * const _ as usize } ,
120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
( MShortMarginRatioByVolume ) ));
}
impl Clone for CThostFtdcOptionInstrMarginAdjustField {
fn clone(&self) -> Self { *self }
}
/// 当前期权合约手续费的详细内容
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcOptionInstrCommRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 开仓手续费率
pub OpenRatioByMoney: TThostFtdcRatioType,
/// 开仓手续费
pub OpenRatioByVolume: TThostFtdcRatioType,
/// 平仓手续费率
pub CloseRatioByMoney: TThostFtdcRatioType,
/// 平仓手续费
pub CloseRatioByVolume: TThostFtdcRatioType,
/// 平今手续费率
pub CloseTodayRatioByMoney: TThostFtdcRatioType,
/// 平今手续费
pub CloseTodayRatioByVolume: TThostFtdcRatioType,
/// 执行手续费率
pub StrikeRatioByMoney: TThostFtdcRatioType,
/// 执行手续费
pub StrikeRatioByVolume: TThostFtdcRatioType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionInstrCommRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrCommRateField>() ,
152usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcOptionInstrCommRateField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrCommRateField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionInstrCommRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
OpenRatioByMoney as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
OpenRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
OpenRatioByVolume as * const _ as usize } , 64usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
OpenRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
CloseRatioByMoney as * const _ as usize } , 72usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
CloseRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
CloseRatioByVolume as * const _ as usize } , 80usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
CloseRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
CloseTodayRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
CloseTodayRatioByVolume as * const _ as usize } , 96usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
CloseTodayRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
StrikeRatioByMoney as * const _ as usize } , 104usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
StrikeRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
StrikeRatioByVolume as * const _ as usize } , 112usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
StrikeRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
ExchangeID as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
InvestUnitID as * const _ as usize } , 129usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcOptionInstrCommRateField {
fn clone(&self) -> Self { *self }
}
/// 期权交易成本
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcOptionInstrTradeCostField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 期权合约保证金不变部分
pub FixedMargin: TThostFtdcMoneyType,
/// 期权合约最小保证金
pub MiniMargin: TThostFtdcMoneyType,
/// 期权合约权利金
pub Royalty: TThostFtdcMoneyType,
/// 交易所期权合约保证金不变部分
pub ExchFixedMargin: TThostFtdcMoneyType,
/// 交易所期权合约最小保证金
pub ExchMiniMargin: TThostFtdcMoneyType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionInstrTradeCostField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrTradeCostField>() ,
128usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcOptionInstrTradeCostField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrTradeCostField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
HedgeFlag as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
FixedMargin as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
FixedMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
MiniMargin as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
MiniMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
Royalty as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
Royalty ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
ExchFixedMargin as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
ExchFixedMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
ExchMiniMargin as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
ExchMiniMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
ExchangeID as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
InvestUnitID as * const _ as usize } , 105usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcOptionInstrTradeCostField {
fn clone(&self) -> Self { *self }
}
/// 期权交易成本查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOptionInstrTradeCostField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 期权合约报价
pub InputPrice: TThostFtdcPriceType,
/// 标的价格,填0则用昨结算价
pub UnderlyingPrice: TThostFtdcPriceType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOptionInstrTradeCostField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionInstrTradeCostField>()
, 104usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionInstrTradeCostField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . InstrumentID as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . HedgeFlag as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . InputPrice as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( InputPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . UnderlyingPrice as * const _ as usize } , 64usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( UnderlyingPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . ExchangeID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
) . InvestUnitID as * const _ as usize } , 81usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryOptionInstrTradeCostField {
fn clone(&self) -> Self { *self }
}
/// 期权手续费率查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOptionInstrCommRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOptionInstrCommRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionInstrCommRateField>()
, 81usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionInstrCommRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
. InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
. ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
. InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryOptionInstrCommRateField {
fn clone(&self) -> Self { *self }
}
/// 股指现货指数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcIndexPriceField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 指数现货收盘价
pub ClosePrice: TThostFtdcPriceType,
}
#[test]
fn bindgen_test_layout_CThostFtdcIndexPriceField() {
assert_eq!(::std::mem::size_of::<CThostFtdcIndexPriceField>() , 56usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcIndexPriceField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcIndexPriceField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcIndexPriceField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcIndexPriceField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcIndexPriceField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcIndexPriceField ) ) .
InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcIndexPriceField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcIndexPriceField ) ) .
ClosePrice as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcIndexPriceField ) , "::" , stringify ! ( ClosePrice
) ));
}
impl Clone for CThostFtdcIndexPriceField {
fn clone(&self) -> Self { *self }
}
/// 输入的执行宣告
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputExecOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 执行宣告引用
pub ExecOrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 执行类型
pub ActionType: TThostFtdcActionTypeType,
/// 保留头寸申请的持仓方向
pub PosiDirection: TThostFtdcPosiDirectionType,
/// 期权行权后是否保留期货头寸的标记,该字段已废弃
pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
/// 期权行权后生成的头寸是否自动平仓
pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputExecOrderField>() ,
212usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputExecOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputExecOrderField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcInputExecOrderField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
ExecOrderRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
ExecOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
UserID as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
Volume as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! ( Volume
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
RequestID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
BusinessUnit as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
OffsetFlag as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
OffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
HedgeFlag as * const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
ActionType as * const _ as usize } , 115usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
ActionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
PosiDirection as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
PosiDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
ReservePositionFlag as * const _ as usize } , 117usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
ReservePositionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
CloseFlag as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
CloseFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
ExchangeID as * const _ as usize } , 119usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
InvestUnitID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
AccountID as * const _ as usize } , 145usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
CurrencyID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
ClientID as * const _ as usize } , 162usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
IPAddress as * const _ as usize } , 173usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
MacAddress as * const _ as usize } , 189usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputExecOrderField {
fn clone(&self) -> Self { *self }
}
/// 输入执行宣告操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputExecOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 执行宣告操作引用
pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
/// 执行宣告引用
pub ExecOrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行宣告操作编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputExecOrderActionField>() ,
188usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputExecOrderActionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputExecOrderActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInputExecOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
ExecOrderActionRef as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
ExecOrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
ExecOrderRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
ExecOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
ExecOrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
UserID as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
InstrumentID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 134usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
IPAddress as * const _ as usize } , 151usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
MacAddress as * const _ as usize } , 167usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputExecOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 执行宣告
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcExecOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 执行宣告引用
pub ExecOrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 执行类型
pub ActionType: TThostFtdcActionTypeType,
/// 保留头寸申请的持仓方向
pub PosiDirection: TThostFtdcPosiDirectionType,
/// 期权行权后是否保留期货头寸的标记,该字段已废弃
pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
/// 期权行权后生成的头寸是否自动平仓
pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
/// 本地执行宣告编号
pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 执行宣告提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 执行宣告编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 执行结果
pub ExecResult: TThostFtdcExecResultType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 操作用户代码
pub ActiveUserID: TThostFtdcUserIDType,
/// 经纪公司报单编号
pub BrokerExecOrderSeq: TThostFtdcSequenceNoType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExecOrderField>() , 508usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcExecOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExecOrderField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcExecOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( InvestorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( InstrumentID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ExecOrderRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( ExecOrderRef
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . UserID as
* const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . Volume as
* const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . RequestID
as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
BusinessUnit as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( BusinessUnit
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . OffsetFlag
as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( OffsetFlag )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . HedgeFlag
as * const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( HedgeFlag )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ActionType
as * const _ as usize } , 115usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( ActionType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
PosiDirection as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
PosiDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ReservePositionFlag as * const _ as usize } , 117usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
ReservePositionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . CloseFlag
as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( CloseFlag )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ExecOrderLocalID as * const _ as usize } , 119usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
ExecOrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ExchangeID
as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( ExchangeID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ParticipantID as * const _ as usize } , 141usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ClientID
as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ExchangeInstID as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . TraderID
as * const _ as usize } , 194usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( TraderID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InstallID
as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( InstallID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
OrderSubmitStatus as * const _ as usize } , 220usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
NotifySequence as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . TradingDay
as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( TradingDay )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
SettlementID as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( SettlementID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ExecOrderSysID as * const _ as usize } , 244usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InsertDate
as * const _ as usize } , 265usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( InsertDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InsertTime
as * const _ as usize } , 274usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( InsertTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . CancelTime
as * const _ as usize } , 283usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( CancelTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ExecResult
as * const _ as usize } , 292usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( ExecResult )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ClearingPartID as * const _ as usize } , 293usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . SequenceNo
as * const _ as usize } , 304usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( SequenceNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . FrontID as
* const _ as usize } , 308usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . SessionID
as * const _ as usize } , 312usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
UserProductInfo as * const _ as usize } , 316usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . StatusMsg
as * const _ as usize } , 327usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( StatusMsg )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
ActiveUserID as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( ActiveUserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
BrokerExecOrderSeq as * const _ as usize } , 424usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! (
BrokerExecOrderSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . BranchID
as * const _ as usize } , 428usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( BranchID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
InvestUnitID as * const _ as usize } , 437usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( InvestUnitID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . AccountID
as * const _ as usize } , 454usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( AccountID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . CurrencyID
as * const _ as usize } , 467usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( CurrencyID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . IPAddress
as * const _ as usize } , 471usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( IPAddress )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderField ) ) . MacAddress
as * const _ as usize } , 487usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderField ) , "::" , stringify ! ( MacAddress )
));
}
impl Clone for CThostFtdcExecOrderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcExecOrderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 执行宣告操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcExecOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 执行宣告操作引用
pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
/// 执行宣告引用
pub ExecOrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行宣告操作编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地执行宣告编号
pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 执行类型
pub ActionType: TThostFtdcActionTypeType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExecOrderActionField>() ,
396usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExecOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcExecOrderActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcExecOrderActionField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ExecOrderActionRef as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ExecOrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ExecOrderRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ExecOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ExecOrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ActionDate as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ActionTime as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
TraderID as * const _ as usize } , 105usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
InstallID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ExecOrderLocalID as * const _ as usize } , 132usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ExecOrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ActionLocalID as * const _ as usize } , 145usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ParticipantID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ClientID as * const _ as usize } , 169usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
BusinessUnit as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
OrderActionStatus as * const _ as usize } , 201usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
UserID as * const _ as usize } , 202usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
ActionType as * const _ as usize } , 218usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
ActionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
StatusMsg as * const _ as usize } , 219usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
InstrumentID as * const _ as usize } , 300usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
BranchID as * const _ as usize } , 331usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 340usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
IPAddress as * const _ as usize } , 357usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
MacAddress as * const _ as usize } , 373usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExecOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExecOrderActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcExecOrderActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 执行宣告查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExecOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行宣告编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 开始时间
pub InsertTimeStart: TThostFtdcTimeType,
/// 结束时间
pub InsertTimeEnd: TThostFtdcTimeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExecOrderField>() , 103usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExecOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExecOrderField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryExecOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
ExecOrderSysID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! (
ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
InsertTimeStart as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! (
InsertTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderField ) , "::" , stringify ! (
InsertTimeEnd ) ));
}
impl Clone for CThostFtdcQryExecOrderField {
fn clone(&self) -> Self { *self }
}
/// 交易所执行宣告信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeExecOrderField {
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 执行类型
pub ActionType: TThostFtdcActionTypeType,
/// 保留头寸申请的持仓方向
pub PosiDirection: TThostFtdcPosiDirectionType,
/// 期权行权后是否保留期货头寸的标记,该字段已废弃
pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
/// 期权行权后生成的头寸是否自动平仓
pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
/// 本地执行宣告编号
pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 执行宣告提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 执行宣告编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 执行结果
pub ExecResult: TThostFtdcExecResultType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeExecOrderField>() ,
272usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeExecOrderField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeExecOrderField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeExecOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
Volume as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
RequestID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
BusinessUnit as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
OffsetFlag as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
OffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
HedgeFlag as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ActionType as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ActionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
PosiDirection as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
PosiDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ReservePositionFlag as * const _ as usize } , 33usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ReservePositionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
CloseFlag as * const _ as usize } , 34usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
CloseFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ExecOrderLocalID as * const _ as usize } , 35usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ExecOrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ExchangeID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ParticipantID as * const _ as usize } , 57usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ClientID as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ExchangeInstID as * const _ as usize } , 79usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
TraderID as * const _ as usize } , 110usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
InstallID as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
OrderSubmitStatus as * const _ as usize } , 136usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
NotifySequence as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
TradingDay as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
SettlementID as * const _ as usize } , 156usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ExecOrderSysID as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
InsertDate as * const _ as usize } , 181usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
InsertTime as * const _ as usize } , 190usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
CancelTime as * const _ as usize } , 199usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ExecResult as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ExecResult ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
ClearingPartID as * const _ as usize } , 209usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
SequenceNo as * const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
BranchID as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
IPAddress as * const _ as usize } , 233usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
MacAddress as * const _ as usize } , 249usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExchangeExecOrderField {
fn clone(&self) -> Self { *self }
}
/// 交易所执行宣告查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeExecOrderField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeExecOrderField>() ,
83usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeExecOrderField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeExecOrderField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeExecOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
ExchangeInstID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
ExchangeID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
TraderID as * const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeExecOrderField {
fn clone(&self) -> Self { *self }
}
/// 执行宣告操作查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExecOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExecOrderActionField>() ,
33usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExecOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExecOrderActionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExecOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExecOrderActionField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExecOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryExecOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所执行宣告操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeExecOrderActionField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行宣告操作编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地执行宣告编号
pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 执行类型
pub ActionType: TThostFtdcActionTypeType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeExecOrderActionField>()
, 244usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeExecOrderActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ExecOrderSysID as * const _ as usize } , 9usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ActionFlag as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ActionDate as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ActionTime as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . TraderID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . InstallID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ExecOrderLocalID as * const _ as usize } , 76usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ExecOrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ActionLocalID as * const _ as usize } , 89usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ParticipantID as * const _ as usize } , 102usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ClientID as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . BusinessUnit as * const _ as usize } , 124usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . OrderActionStatus as * const _ as usize } , 145usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . UserID as * const _ as usize } , 146usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ActionType as * const _ as usize } , 162usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ActionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . BranchID as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . IPAddress as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . MacAddress as * const _ as usize } , 188usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . ExchangeInstID as * const _ as usize } , 209usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
) . Volume as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
( Volume ) ));
}
impl Clone for CThostFtdcExchangeExecOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所执行宣告操作查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeExecOrderActionField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeExecOrderActionField>()
, 52usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryExchangeExecOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeExecOrderActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeExecOrderActionField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
. ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
! ( ParticipantID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
. ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
! ( ClientID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
. ExchangeID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
. TraderID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
! ( TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeExecOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 错误执行宣告
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcErrExecOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 执行宣告引用
pub ExecOrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 执行类型
pub ActionType: TThostFtdcActionTypeType,
/// 保留头寸申请的持仓方向
pub PosiDirection: TThostFtdcPosiDirectionType,
/// 期权行权后是否保留期货头寸的标记,该字段已废弃
pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
/// 期权行权后生成的头寸是否自动平仓
pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcErrExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcErrExecOrderField>() , 300usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcErrExecOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcErrExecOrderField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcErrExecOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
ExecOrderRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
ExecOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) . UserID
as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) . Volume
as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( Volume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
RequestID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
BusinessUnit as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
OffsetFlag as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
OffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
HedgeFlag as * const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( HedgeFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
ActionType as * const _ as usize } , 115usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
ActionType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
PosiDirection as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
PosiDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
ReservePositionFlag as * const _ as usize } , 117usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
ReservePositionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
CloseFlag as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( CloseFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
ExchangeID as * const _ as usize } , 119usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
InvestUnitID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
AccountID as * const _ as usize } , 145usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( AccountID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
CurrencyID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
ClientID as * const _ as usize } , 162usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( ClientID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
IPAddress as * const _ as usize } , 173usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( IPAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
MacAddress as * const _ as usize } , 189usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) . ErrorID
as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( ErrorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
ErrorMsg as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderField ) , "::" , stringify ! ( ErrorMsg
) ));
}
impl Clone for CThostFtdcErrExecOrderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcErrExecOrderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询错误执行宣告
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryErrExecOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryErrExecOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryErrExecOrderField>() ,
24usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryErrExecOrderField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryErrExecOrderField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryErrExecOrderField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrExecOrderField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrExecOrderField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrExecOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrExecOrderField ) , "::" , stringify ! (
InvestorID ) ));
}
impl Clone for CThostFtdcQryErrExecOrderField {
fn clone(&self) -> Self { *self }
}
/// 错误执行宣告操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcErrExecOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 执行宣告操作引用
pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
/// 执行宣告引用
pub ExecOrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 执行宣告操作编号
pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcErrExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcErrExecOrderActionField>() ,
276usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcErrExecOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcErrExecOrderActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcErrExecOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ExecOrderActionRef as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ExecOrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ExecOrderRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ExecOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ExecOrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ExecOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
UserID as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
InstrumentID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 134usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
IPAddress as * const _ as usize } , 151usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
MacAddress as * const _ as usize } , 167usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ErrorID as * const _ as usize } , 188usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
ErrorMsg as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
ErrorMsg ) ));
}
impl Clone for CThostFtdcErrExecOrderActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcErrExecOrderActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询错误执行宣告操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryErrExecOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryErrExecOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryErrExecOrderActionField>() ,
24usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryErrExecOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryErrExecOrderActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryErrExecOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrExecOrderActionField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrExecOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrExecOrderActionField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrExecOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
}
impl Clone for CThostFtdcQryErrExecOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 投资者期权合约交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcOptionInstrTradingRightField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 交易权限
pub TradingRight: TThostFtdcTradingRightType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionInstrTradingRightField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrTradingRightField>()
, 58usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrTradingRightField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
) . InvestorRange as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
( InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
) . InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
) . Direction as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
( Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
) . TradingRight as * const _ as usize } , 57usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
( TradingRight ) ));
}
impl Clone for CThostFtdcOptionInstrTradingRightField {
fn clone(&self) -> Self { *self }
}
/// 查询期权合约交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOptionInstrTradingRightField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOptionInstrTradingRightField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionInstrTradingRightField>()
, 56usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryOptionInstrTradingRightField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionInstrTradingRightField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryOptionInstrTradingRightField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
. InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
. Direction as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
! ( Direction ) ));
}
impl Clone for CThostFtdcQryOptionInstrTradingRightField {
fn clone(&self) -> Self { *self }
}
/// 输入的询价
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputForQuoteField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 询价引用
pub ForQuoteRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputForQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputForQuoteField>() ,
147usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputForQuoteField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputForQuoteField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcInputForQuoteField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
ForQuoteRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
ForQuoteRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) . UserID
as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
ExchangeID as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
InvestUnitID as * const _ as usize } , 93usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
IPAddress as * const _ as usize } , 110usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
MacAddress as * const _ as usize } , 126usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputForQuoteField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputForQuoteField {
fn clone(&self) -> Self { *self }
}
/// 询价
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcForQuoteField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 询价引用
pub ForQuoteRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 本地询价编号
pub ForQuoteLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 询价状态
pub ForQuoteStatus: TThostFtdcForQuoteStatusType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 操作用户代码
pub ActiveUserID: TThostFtdcUserIDType,
/// 经纪公司询价编号
pub BrokerForQutoSeq: TThostFtdcSequenceNoType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcForQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcForQuoteField>() , 372usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcForQuoteField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcForQuoteField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcForQuoteField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . ForQuoteRef
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ForQuoteRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . UserID as *
const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
ForQuoteLocalID as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ForQuoteLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . ExchangeID
as * const _ as usize } , 97usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
ParticipantID as * const _ as usize } , 106usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . ClientID as
* const _ as usize } , 117usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
ExchangeInstID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . TraderID as
* const _ as usize } , 159usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InstallID
as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InsertDate
as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InsertTime
as * const _ as usize } , 193usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
ForQuoteStatus as * const _ as usize } , 202usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ForQuoteStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . FrontID as
* const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . SessionID
as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . StatusMsg
as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
ActiveUserID as * const _ as usize } , 293usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( ActiveUserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
BrokerForQutoSeq as * const _ as usize } , 312usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( BrokerForQutoSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
InvestUnitID as * const _ as usize } , 316usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . IPAddress
as * const _ as usize } , 333usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteField ) ) . MacAddress
as * const _ as usize } , 349usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
) , "::" , stringify ! ( MacAddress ) ));
}
impl Clone for CThostFtdcForQuoteField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcForQuoteField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 询价查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryForQuoteField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 开始时间
pub InsertTimeStart: TThostFtdcTimeType,
/// 结束时间
pub InsertTimeEnd: TThostFtdcTimeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryForQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryForQuoteField>() , 99usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryForQuoteField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryForQuoteField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryForQuoteField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
InsertTimeStart as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! (
InsertTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
InsertTimeEnd as * const _ as usize } , 73usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! (
InsertTimeEnd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
InvestUnitID as * const _ as usize } , 82usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryForQuoteField {
fn clone(&self) -> Self { *self }
}
/// 交易所询价信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeForQuoteField {
/// 本地询价编号
pub ForQuoteLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 询价状态
pub ForQuoteStatus: TThostFtdcForQuoteStatusType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeForQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeForQuoteField>() ,
156usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeForQuoteField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeForQuoteField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeForQuoteField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
ForQuoteLocalID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
ForQuoteLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
ExchangeID as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
ParticipantID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
ClientID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
ExchangeInstID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
TraderID as * const _ as usize } , 75usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
InstallID as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
InsertDate as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
InsertTime as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
ForQuoteStatus as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
ForQuoteStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
IPAddress as * const _ as usize } , 119usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
MacAddress as * const _ as usize } , 135usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExchangeForQuoteField {
fn clone(&self) -> Self { *self }
}
/// 交易所询价查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeForQuoteField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeForQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeForQuoteField>() ,
83usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeForQuoteField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeForQuoteField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeForQuoteField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
ExchangeInstID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
ExchangeID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
TraderID as * const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeForQuoteField {
fn clone(&self) -> Self { *self }
}
/// 输入的报价
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputQuoteField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报价引用
pub QuoteRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 卖价格
pub AskPrice: TThostFtdcPriceType,
/// 买价格
pub BidPrice: TThostFtdcPriceType,
/// 卖数量
pub AskVolume: TThostFtdcVolumeType,
/// 买数量
pub BidVolume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 卖开平标志
pub AskOffsetFlag: TThostFtdcOffsetFlagType,
/// 买开平标志
pub BidOffsetFlag: TThostFtdcOffsetFlagType,
/// 卖投机套保标志
pub AskHedgeFlag: TThostFtdcHedgeFlagType,
/// 买投机套保标志
pub BidHedgeFlag: TThostFtdcHedgeFlagType,
/// 衍生卖报单引用
pub AskOrderRef: TThostFtdcOrderRefType,
/// 衍生买报单引用
pub BidOrderRef: TThostFtdcOrderRefType,
/// 应价编号
pub ForQuoteSysID: TThostFtdcOrderSysIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputQuoteField>() , 264usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcInputQuoteField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputQuoteField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcInputQuoteField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . QuoteRef
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( QuoteRef )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . UserID as
* const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . AskPrice
as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( AskPrice )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . BidPrice
as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( BidPrice )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . AskVolume
as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( AskVolume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . BidVolume
as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( BidVolume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . RequestID
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
BusinessUnit as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
AskOffsetFlag as * const _ as usize } , 137usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
AskOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
BidOffsetFlag as * const _ as usize } , 138usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
BidOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
AskHedgeFlag as * const _ as usize } , 139usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
AskHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
BidHedgeFlag as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
BidHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
AskOrderRef as * const _ as usize } , 141usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( AskOrderRef
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
BidOrderRef as * const _ as usize } , 154usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( BidOrderRef
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
ForQuoteSysID as * const _ as usize } , 167usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
ForQuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
ExchangeID as * const _ as usize } , 188usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
InvestUnitID as * const _ as usize } , 197usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . ClientID
as * const _ as usize } , 214usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . IPAddress
as * const _ as usize } , 225usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( IPAddress )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
MacAddress as * const _ as usize } , 241usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteField ) , "::" , stringify ! ( MacAddress
) ));
}
impl Clone for CThostFtdcInputQuoteField {
fn clone(&self) -> Self { *self }
}
/// 输入报价操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputQuoteActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报价操作引用
pub QuoteActionRef: TThostFtdcOrderActionRefType,
/// 报价引用
pub QuoteRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报价操作编号
pub QuoteSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputQuoteActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputQuoteActionField>() ,
200usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputQuoteActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcInputQuoteActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInputQuoteActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
QuoteActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
QuoteActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
QuoteRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
QuoteRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
QuoteSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
QuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
UserID as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
InstrumentID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
InvestUnitID as * const _ as usize } , 134usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
ClientID as * const _ as usize } , 151usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
IPAddress as * const _ as usize } , 162usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
MacAddress as * const _ as usize } , 178usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputQuoteActionField {
fn clone(&self) -> Self { *self }
}
/// 报价
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcQuoteField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报价引用
pub QuoteRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 卖价格
pub AskPrice: TThostFtdcPriceType,
/// 买价格
pub BidPrice: TThostFtdcPriceType,
/// 卖数量
pub AskVolume: TThostFtdcVolumeType,
/// 买数量
pub BidVolume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 卖开平标志
pub AskOffsetFlag: TThostFtdcOffsetFlagType,
/// 买开平标志
pub BidOffsetFlag: TThostFtdcOffsetFlagType,
/// 卖投机套保标志
pub AskHedgeFlag: TThostFtdcHedgeFlagType,
/// 买投机套保标志
pub BidHedgeFlag: TThostFtdcHedgeFlagType,
/// 本地报价编号
pub QuoteLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报价提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 报价提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 报价编号
pub QuoteSysID: TThostFtdcOrderSysIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 报价状态
pub QuoteStatus: TThostFtdcOrderStatusType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 卖方报单编号
pub AskOrderSysID: TThostFtdcOrderSysIDType,
/// 买方报单编号
pub BidOrderSysID: TThostFtdcOrderSysIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 操作用户代码
pub ActiveUserID: TThostFtdcUserIDType,
/// 经纪公司报价编号
pub BrokerQuoteSeq: TThostFtdcSequenceNoType,
/// 衍生卖报单引用
pub AskOrderRef: TThostFtdcOrderRefType,
/// 衍生买报单引用
pub BidOrderRef: TThostFtdcOrderRefType,
/// 应价编号
pub ForQuoteSysID: TThostFtdcOrderSysIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQuoteField>() , 624usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcQuoteField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQuoteField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQuoteField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BrokerID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . InvestorID as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . InstrumentID
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteRef as *
const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( QuoteRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . UserID as *
const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskPrice as *
const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AskPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidPrice as *
const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BidPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskVolume as *
const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AskVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidVolume as *
const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BidVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . RequestID as *
const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BusinessUnit
as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskOffsetFlag
as * const _ as usize } , 137usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AskOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidOffsetFlag
as * const _ as usize } , 138usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BidOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskHedgeFlag
as * const _ as usize } , 139usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AskHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidHedgeFlag
as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BidHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteLocalID
as * const _ as usize } , 141usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( QuoteLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ExchangeID as
* const _ as usize } , 154usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ParticipantID
as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ClientID as *
const _ as usize } , 174usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ExchangeInstID
as * const _ as usize } , 185usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . TraderID as *
const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . InstallID as *
const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . NotifySequence
as * const _ as usize } , 244usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) .
OrderSubmitStatus as * const _ as usize } , 248usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . TradingDay as
* const _ as usize } , 249usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . SettlementID
as * const _ as usize } , 260usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteSysID as
* const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( QuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . InsertDate as
* const _ as usize } , 285usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . InsertTime as
* const _ as usize } , 294usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . CancelTime as
* const _ as usize } , 303usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteStatus as
* const _ as usize } , 312usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( QuoteStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ClearingPartID
as * const _ as usize } , 313usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . SequenceNo as
* const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskOrderSysID
as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AskOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidOrderSysID
as * const _ as usize } , 349usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BidOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . FrontID as *
const _ as usize } , 372usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . SessionID as *
const _ as usize } , 376usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) .
UserProductInfo as * const _ as usize } , 380usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . StatusMsg as *
const _ as usize } , 391usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ActiveUserID
as * const _ as usize } , 472usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ActiveUserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BrokerQuoteSeq
as * const _ as usize } , 488usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BrokerQuoteSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskOrderRef as
* const _ as usize } , 492usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AskOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidOrderRef as
* const _ as usize } , 505usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BidOrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . ForQuoteSysID
as * const _ as usize } , 518usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( ForQuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . BranchID as *
const _ as usize } , 539usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . InvestUnitID
as * const _ as usize } , 548usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . AccountID as *
const _ as usize } , 565usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . CurrencyID as
* const _ as usize } , 578usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . IPAddress as *
const _ as usize } , 582usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteField ) ) . MacAddress as
* const _ as usize } , 598usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
, "::" , stringify ! ( MacAddress ) ));
}
impl Clone for CThostFtdcQuoteField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcQuoteField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 报价操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcQuoteActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报价操作引用
pub QuoteActionRef: TThostFtdcOrderActionRefType,
/// 报价引用
pub QuoteRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报价操作编号
pub QuoteSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报价编号
pub QuoteLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQuoteActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQuoteActionField>() , 396usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQuoteActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQuoteActionField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQuoteActionField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
QuoteActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
QuoteActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . QuoteRef
as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( QuoteRef )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . FrontID
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
QuoteSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( QuoteSysID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( ActionFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
ActionDate as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( ActionDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
ActionTime as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( ActionTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . TraderID
as * const _ as usize } , 105usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( TraderID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
InstallID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
QuoteLocalID as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
QuoteLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
ActionLocalID as * const _ as usize } , 145usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
ParticipantID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . ClientID
as * const _ as usize } , 169usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
BusinessUnit as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
OrderActionStatus as * const _ as usize } , 201usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . UserID
as * const _ as usize } , 202usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
StatusMsg as * const _ as usize } , 218usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( StatusMsg
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
InstrumentID as * const _ as usize } , 299usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . BranchID
as * const _ as usize } , 330usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( BranchID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
InvestUnitID as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
IPAddress as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( IPAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
MacAddress as * const _ as usize } , 372usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQuoteActionField ) , "::" , stringify ! ( MacAddress
) ));
}
impl Clone for CThostFtdcQuoteActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcQuoteActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 报价查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryQuoteField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报价编号
pub QuoteSysID: TThostFtdcOrderSysIDType,
/// 开始时间
pub InsertTimeStart: TThostFtdcTimeType,
/// 结束时间
pub InsertTimeEnd: TThostFtdcTimeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryQuoteField>() , 120usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryQuoteField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryQuoteField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryQuoteField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . ExchangeID
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . QuoteSysID
as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( QuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
InsertTimeStart as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( InsertTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( InsertTimeEnd ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
InvestUnitID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
) , "::" , stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryQuoteField {
fn clone(&self) -> Self { *self }
}
/// 交易所报价信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeQuoteField {
/// 卖价格
pub AskPrice: TThostFtdcPriceType,
/// 买价格
pub BidPrice: TThostFtdcPriceType,
/// 卖数量
pub AskVolume: TThostFtdcVolumeType,
/// 买数量
pub BidVolume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 卖开平标志
pub AskOffsetFlag: TThostFtdcOffsetFlagType,
/// 买开平标志
pub BidOffsetFlag: TThostFtdcOffsetFlagType,
/// 卖投机套保标志
pub AskHedgeFlag: TThostFtdcHedgeFlagType,
/// 买投机套保标志
pub BidHedgeFlag: TThostFtdcHedgeFlagType,
/// 本地报价编号
pub QuoteLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报价提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 报价提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 报价编号
pub QuoteSysID: TThostFtdcOrderSysIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 报价状态
pub QuoteStatus: TThostFtdcOrderStatusType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 卖方报单编号
pub AskOrderSysID: TThostFtdcOrderSysIDType,
/// 买方报单编号
pub BidOrderSysID: TThostFtdcOrderSysIDType,
/// 应价编号
pub ForQuoteSysID: TThostFtdcOrderSysIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeQuoteField>() ,
352usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeQuoteField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeQuoteField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcExchangeQuoteField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
AskPrice as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( AskPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BidPrice as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( BidPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
AskVolume as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
AskVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BidVolume as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
BidVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
RequestID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BusinessUnit as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
AskOffsetFlag as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
AskOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BidOffsetFlag as * const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
BidOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
AskHedgeFlag as * const _ as usize } , 51usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
AskHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BidHedgeFlag as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
BidHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
QuoteLocalID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
QuoteLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
ExchangeID as * const _ as usize } , 66usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
ParticipantID as * const _ as usize } , 75usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
ClientID as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( ClientID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
ExchangeInstID as * const _ as usize } , 97usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
TraderID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( TraderID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
InstallID as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
NotifySequence as * const _ as usize } , 156usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
OrderSubmitStatus as * const _ as usize } , 160usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
TradingDay as * const _ as usize } , 161usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
SettlementID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
QuoteSysID as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
QuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
InsertDate as * const _ as usize } , 197usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
InsertTime as * const _ as usize } , 206usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
CancelTime as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
QuoteStatus as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
QuoteStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
ClearingPartID as * const _ as usize } , 225usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
SequenceNo as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
AskOrderSysID as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
AskOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BidOrderSysID as * const _ as usize } , 261usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
BidOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
ForQuoteSysID as * const _ as usize } , 282usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
ForQuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
BranchID as * const _ as usize } , 303usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( BranchID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
IPAddress as * const _ as usize } , 312usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
MacAddress as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExchangeQuoteField {
fn clone(&self) -> Self { *self }
}
/// 交易所报价查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeQuoteField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeQuoteField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeQuoteField>() ,
83usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeQuoteField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeQuoteField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeQuoteField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
ExchangeInstID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
ExchangeID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
TraderID as * const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeQuoteField {
fn clone(&self) -> Self { *self }
}
/// 报价操作查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryQuoteActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryQuoteActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryQuoteActionField>() ,
33usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryQuoteActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryQuoteActionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryQuoteActionField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryQuoteActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryQuoteActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryQuoteActionField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryQuoteActionField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryQuoteActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所报价操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeQuoteActionField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报价操作编号
pub QuoteSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报价编号
pub QuoteLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeQuoteActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeQuoteActionField>() ,
200usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeQuoteActionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeQuoteActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeQuoteActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
QuoteSysID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
QuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ActionFlag as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ActionDate as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ActionTime as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
TraderID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
InstallID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
QuoteLocalID as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
QuoteLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ActionLocalID as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ParticipantID as * const _ as usize } , 102usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
ClientID as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
BusinessUnit as * const _ as usize } , 124usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
OrderActionStatus as * const _ as usize } , 145usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
UserID as * const _ as usize } , 146usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
IPAddress as * const _ as usize } , 162usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
MacAddress as * const _ as usize } , 178usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcExchangeQuoteActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所报价操作查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeQuoteActionField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeQuoteActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeQuoteActionField>()
, 52usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryExchangeQuoteActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeQuoteActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeQuoteActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
. ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
. ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
. ExchangeID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
. TraderID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeQuoteActionField {
fn clone(&self) -> Self { *self }
}
/// 期权合约delta值
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcOptionInstrDeltaField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// Delta值
pub Delta: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionInstrDeltaField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrDeltaField>() ,
64usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcOptionInstrDeltaField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrDeltaField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionInstrDeltaField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
Delta as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! ( Delta
) ));
}
impl Clone for CThostFtdcOptionInstrDeltaField {
fn clone(&self) -> Self { *self }
}
/// 发给做市商的询价请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcForQuoteRspField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 询价编号
pub ForQuoteSysID: TThostFtdcOrderSysIDType,
/// 询价时间
pub ForQuoteTime: TThostFtdcTimeType,
/// 业务日期
pub ActionDay: TThostFtdcDateType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcForQuoteRspField() {
assert_eq!(::std::mem::size_of::<CThostFtdcForQuoteRspField>() , 88usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcForQuoteRspField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcForQuoteRspField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcForQuoteRspField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteRspField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
InstrumentID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteRspField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
ForQuoteSysID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteRspField ) , "::" , stringify ! (
ForQuoteSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
ForQuoteTime as * const _ as usize } , 61usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteRspField ) , "::" , stringify ! (
ForQuoteTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
ActionDay as * const _ as usize } , 70usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteRspField ) , "::" , stringify ! ( ActionDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
ExchangeID as * const _ as usize } , 79usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteRspField ) , "::" , stringify ! ( ExchangeID
) ));
}
impl Clone for CThostFtdcForQuoteRspField {
fn clone(&self) -> Self { *self }
}
/// 当前期权合约执行偏移值的详细内容
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcStrikeOffsetField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 执行偏移值
pub Offset: TThostFtdcMoneyType,
/// 执行偏移类型
pub OffsetType: TThostFtdcStrikeOffsetTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcStrikeOffsetField() {
assert_eq!(::std::mem::size_of::<CThostFtdcStrikeOffsetField>() , 72usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcStrikeOffsetField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcStrikeOffsetField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcStrikeOffsetField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcStrikeOffsetField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) . Offset
as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcStrikeOffsetField ) , "::" , stringify ! ( Offset )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
OffsetType as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
OffsetType ) ));
}
impl Clone for CThostFtdcStrikeOffsetField {
fn clone(&self) -> Self { *self }
}
/// 期权执行偏移值查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryStrikeOffsetField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryStrikeOffsetField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryStrikeOffsetField>() ,
55usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryStrikeOffsetField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryStrikeOffsetField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryStrikeOffsetField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryStrikeOffsetField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryStrikeOffsetField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryStrikeOffsetField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryStrikeOffsetField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryStrikeOffsetField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryStrikeOffsetField ) , "::" , stringify ! (
InstrumentID ) ));
}
impl Clone for CThostFtdcQryStrikeOffsetField {
fn clone(&self) -> Self { *self }
}
/// 输入批量报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputBatchOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报单操作引用
pub OrderActionRef: TThostFtdcOrderActionRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputBatchOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputBatchOrderActionField>() ,
120usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputBatchOrderActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInputBatchOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. OrderActionRef as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
OrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. RequestID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. FrontID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. SessionID as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. ExchangeID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. UserID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. InvestUnitID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. IPAddress as * const _ as usize } , 82usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
. MacAddress as * const _ as usize } , 98usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputBatchOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 批量报单操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBatchOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报单操作引用
pub OrderActionRef: TThostFtdcOrderActionRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBatchOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBatchOrderActionField>() ,
300usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBatchOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBatchOrderActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBatchOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
OrderActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
OrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
RequestID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
FrontID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
SessionID as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
ExchangeID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
ActionDate as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
ActionTime as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
TraderID as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
InstallID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
ActionLocalID as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
ParticipantID as * const _ as usize } , 105usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
ClientID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
BusinessUnit as * const _ as usize } , 127usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
OrderActionStatus as * const _ as usize } , 148usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
UserID as * const _ as usize } , 149usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
StatusMsg as * const _ as usize } , 165usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 246usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
IPAddress as * const _ as usize } , 263usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
MacAddress as * const _ as usize } , 279usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcBatchOrderActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBatchOrderActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所批量报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeBatchOrderActionField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeBatchOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeBatchOrderActionField>()
, 164usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeBatchOrderActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . ActionDate as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . ActionTime as * const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . TraderID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . InstallID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . ActionLocalID as * const _ as usize } , 52usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . ParticipantID as * const _ as usize } , 65usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . ClientID as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . BusinessUnit as * const _ as usize } , 87usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . OrderActionStatus as * const _ as usize } , 108usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . UserID as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . IPAddress as * const _ as usize } , 125usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
) . MacAddress as * const _ as usize } , 141usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
( MacAddress ) ));
}
impl Clone for CThostFtdcExchangeBatchOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 查询批量报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBatchOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBatchOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBatchOrderActionField>() ,
33usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryBatchOrderActionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBatchOrderActionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryBatchOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBatchOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBatchOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBatchOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBatchOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBatchOrderActionField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBatchOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryBatchOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 组合合约安全系数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCombInstrumentGuardField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
///
pub GuarantRatio: TThostFtdcRatioType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCombInstrumentGuardField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCombInstrumentGuardField>() ,
72usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcCombInstrumentGuardField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCombInstrumentGuardField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcCombInstrumentGuardField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
GuarantRatio as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
GuarantRatio ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcCombInstrumentGuardField {
fn clone(&self) -> Self { *self }
}
/// 组合合约安全系数查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCombInstrumentGuardField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCombInstrumentGuardField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCombInstrumentGuardField>()
, 51usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryCombInstrumentGuardField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCombInstrumentGuardField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryCombInstrumentGuardField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombInstrumentGuardField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombInstrumentGuardField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombInstrumentGuardField ) )
. InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombInstrumentGuardField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombInstrumentGuardField ) )
. ExchangeID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombInstrumentGuardField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryCombInstrumentGuardField {
fn clone(&self) -> Self { *self }
}
/// 输入的申请组合
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputCombActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 组合引用
pub CombActionRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 组合指令方向
pub CombDirection: TThostFtdcCombDirectionType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputCombActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputCombActionField>() ,
160usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputCombActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcInputCombActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcInputCombActionField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
CombActionRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
CombActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
UserID as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
Direction as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
Volume as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! ( Volume
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
CombDirection as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
CombDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
HedgeFlag as * const _ as usize } , 93usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
ExchangeID as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
IPAddress as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
MacAddress as * const _ as usize } , 119usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
InvestUnitID as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputCombActionField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcInputCombActionField {
fn clone(&self) -> Self { *self }
}
/// 申请组合
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcCombActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 组合引用
pub CombActionRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 组合指令方向
pub CombDirection: TThostFtdcCombDirectionType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 本地申请组合编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 组合状态
pub ActionStatus: TThostFtdcOrderActionStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 组合编号
pub ComTradeID: TThostFtdcTradeIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCombActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCombActionField>() , 408usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcCombActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCombActionField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcCombActionField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
CombActionRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
CombActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . UserID as
* const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . Direction
as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( Direction )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . Volume as
* const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( Volume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
CombDirection as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
CombDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . HedgeFlag
as * const _ as usize } , 93usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( HedgeFlag )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
ActionLocalID as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
ExchangeID as * const _ as usize } , 107usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
ParticipantID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . ClientID
as * const _ as usize } , 127usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
ExchangeInstID as * const _ as usize } , 138usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . TraderID
as * const _ as usize } , 169usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( TraderID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . InstallID
as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( InstallID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
ActionStatus as * const _ as usize } , 196usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
ActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
NotifySequence as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
TradingDay as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
SettlementID as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
SequenceNo as * const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( SequenceNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . FrontID
as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( FrontID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . SessionID
as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
UserProductInfo as * const _ as usize } , 232usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . StatusMsg
as * const _ as usize } , 243usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( StatusMsg )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . IPAddress
as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( IPAddress )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
MacAddress as * const _ as usize } , 340usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( MacAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
ComTradeID as * const _ as usize } , 361usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( ComTradeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) . BranchID
as * const _ as usize } , 382usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! ( BranchID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombActionField ) ) .
InvestUnitID as * const _ as usize } , 391usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombActionField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcCombActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcCombActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 申请组合查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCombActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCombActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCombActionField>() , 81usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryCombActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCombActionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryCombActionField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombActionField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombActionField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryCombActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所申请组合信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeCombActionField {
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 组合指令方向
pub CombDirection: TThostFtdcCombDirectionType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 本地申请组合编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 组合状态
pub ActionStatus: TThostFtdcOrderActionStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 组合编号
pub ComTradeID: TThostFtdcTradeIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeCombActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeCombActionField>() ,
208usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeCombActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeCombActionField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeCombActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
Direction as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
Volume as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
CombDirection as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
CombDirection ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
HedgeFlag as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ActionLocalID as * const _ as usize } , 10usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ExchangeID as * const _ as usize } , 23usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ParticipantID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ClientID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ExchangeInstID as * const _ as usize } , 54usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
TraderID as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
InstallID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ActionStatus as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
NotifySequence as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
TradingDay as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
SettlementID as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
SequenceNo as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
IPAddress as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
MacAddress as * const _ as usize } , 156usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
ComTradeID as * const _ as usize } , 177usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
ComTradeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
BranchID as * const _ as usize } , 198usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
BranchID ) ));
}
impl Clone for CThostFtdcExchangeCombActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所申请组合查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeCombActionField {
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeCombActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeCombActionField>() ,
83usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryExchangeCombActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeCombActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeCombActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
. ParticipantID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
. ClientID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
. ExchangeInstID as * const _ as usize } , 22usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
. ExchangeID as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
. TraderID as * const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryExchangeCombActionField {
fn clone(&self) -> Self { *self }
}
/// 产品报价汇率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcProductExchRateField {
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 报价币种类型
pub QuoteCurrencyID: TThostFtdcCurrencyIDType,
/// 汇率
pub ExchangeRate: TThostFtdcExchangeRateType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcProductExchRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcProductExchRateField>() ,
64usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcProductExchRateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcProductExchRateField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcProductExchRateField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
ProductID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductExchRateField ) , "::" , stringify ! (
ProductID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
QuoteCurrencyID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductExchRateField ) , "::" , stringify ! (
QuoteCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
ExchangeRate as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductExchRateField ) , "::" , stringify ! (
ExchangeRate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
ExchangeID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductExchRateField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcProductExchRateField {
fn clone(&self) -> Self { *self }
}
/// 产品报价汇率查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryProductExchRateField {
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryProductExchRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryProductExchRateField>() ,
40usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryProductExchRateField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryProductExchRateField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryProductExchRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductExchRateField ) ) .
ProductID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductExchRateField ) , "::" , stringify ! (
ProductID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductExchRateField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductExchRateField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryProductExchRateField {
fn clone(&self) -> Self { *self }
}
/// 查询询价价差参数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryForQuoteParamField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryForQuoteParamField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryForQuoteParamField>() ,
51usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryForQuoteParamField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryForQuoteParamField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryForQuoteParamField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteParamField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteParamField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteParamField ) ) .
InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteParamField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryForQuoteParamField ) ) .
ExchangeID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryForQuoteParamField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryForQuoteParamField {
fn clone(&self) -> Self { *self }
}
/// 询价价差参数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcForQuoteParamField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 最新价
pub LastPrice: TThostFtdcPriceType,
/// 价差
pub PriceInterval: TThostFtdcPriceType,
}
#[test]
fn bindgen_test_layout_CThostFtdcForQuoteParamField() {
assert_eq!(::std::mem::size_of::<CThostFtdcForQuoteParamField>() , 72usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcForQuoteParamField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcForQuoteParamField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcForQuoteParamField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteParamField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
InstrumentID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteParamField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
ExchangeID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteParamField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
LastPrice as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteParamField ) , "::" , stringify ! (
LastPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
PriceInterval as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcForQuoteParamField ) , "::" , stringify ! (
PriceInterval ) ));
}
impl Clone for CThostFtdcForQuoteParamField {
fn clone(&self) -> Self { *self }
}
/// 当前做市商期权合约手续费的详细内容
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMMOptionInstrCommRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 开仓手续费率
pub OpenRatioByMoney: TThostFtdcRatioType,
/// 开仓手续费
pub OpenRatioByVolume: TThostFtdcRatioType,
/// 平仓手续费率
pub CloseRatioByMoney: TThostFtdcRatioType,
/// 平仓手续费
pub CloseRatioByVolume: TThostFtdcRatioType,
/// 平今手续费率
pub CloseTodayRatioByMoney: TThostFtdcRatioType,
/// 平今手续费
pub CloseTodayRatioByVolume: TThostFtdcRatioType,
/// 执行手续费率
pub StrikeRatioByMoney: TThostFtdcRatioType,
/// 执行手续费
pub StrikeRatioByVolume: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMMOptionInstrCommRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMMOptionInstrCommRateField>() ,
120usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMMOptionInstrCommRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. OpenRatioByMoney as * const _ as usize } , 56usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
OpenRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. OpenRatioByVolume as * const _ as usize } , 64usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
OpenRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. CloseRatioByMoney as * const _ as usize } , 72usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
CloseRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. CloseRatioByVolume as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
CloseRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
CloseTodayRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. CloseTodayRatioByVolume as * const _ as usize } , 96usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
CloseTodayRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. StrikeRatioByMoney as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
StrikeRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
. StrikeRatioByVolume as * const _ as usize } , 112usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
StrikeRatioByVolume ) ));
}
impl Clone for CThostFtdcMMOptionInstrCommRateField {
fn clone(&self) -> Self { *self }
}
/// 做市商期权手续费率查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryMMOptionInstrCommRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryMMOptionInstrCommRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryMMOptionInstrCommRateField>()
, 55usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryMMOptionInstrCommRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryMMOptionInstrCommRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryMMOptionInstrCommRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMMOptionInstrCommRateField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMMOptionInstrCommRateField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMMOptionInstrCommRateField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMMOptionInstrCommRateField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMMOptionInstrCommRateField )
) . InstrumentID as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryMMOptionInstrCommRateField ) , "::" , stringify !
( InstrumentID ) ));
}
impl Clone for CThostFtdcQryMMOptionInstrCommRateField {
fn clone(&self) -> Self { *self }
}
/// 做市商合约手续费率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMMInstrumentCommissionRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 开仓手续费率
pub OpenRatioByMoney: TThostFtdcRatioType,
/// 开仓手续费
pub OpenRatioByVolume: TThostFtdcRatioType,
/// 平仓手续费率
pub CloseRatioByMoney: TThostFtdcRatioType,
/// 平仓手续费
pub CloseRatioByVolume: TThostFtdcRatioType,
/// 平今手续费率
pub CloseTodayRatioByMoney: TThostFtdcRatioType,
/// 平今手续费
pub CloseTodayRatioByVolume: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMMInstrumentCommissionRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMMInstrumentCommissionRateField>()
, 104usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMMInstrumentCommissionRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( InvestorRange ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. OpenRatioByMoney as * const _ as usize } , 56usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( OpenRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. OpenRatioByVolume as * const _ as usize } , 64usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( OpenRatioByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. CloseRatioByMoney as * const _ as usize } , 72usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( CloseRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. CloseRatioByVolume as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( CloseRatioByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( CloseTodayRatioByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
. CloseTodayRatioByVolume as * const _ as usize } , 96usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
! ( CloseTodayRatioByVolume ) ));
}
impl Clone for CThostFtdcMMInstrumentCommissionRateField {
fn clone(&self) -> Self { *self }
}
/// 查询做市商合约手续费率
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryMMInstrumentCommissionRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryMMInstrumentCommissionRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryMMInstrumentCommissionRateField>()
, 55usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryMMInstrumentCommissionRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryMMInstrumentCommissionRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryMMInstrumentCommissionRateField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryMMInstrumentCommissionRateField
) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMMInstrumentCommissionRateField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryMMInstrumentCommissionRateField
) ) . InvestorID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryMMInstrumentCommissionRateField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryMMInstrumentCommissionRateField
) ) . InstrumentID as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMMInstrumentCommissionRateField ) , "::" ,
stringify ! ( InstrumentID ) ));
}
impl Clone for CThostFtdcQryMMInstrumentCommissionRateField {
fn clone(&self) -> Self { *self }
}
/// 当前报单手续费的详细内容
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentOrderCommRateField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 报单手续费
pub OrderCommByVolume: TThostFtdcRatioType,
/// 撤单手续费
pub OrderActionCommByVolume: TThostFtdcRatioType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentOrderCommRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentOrderCommRateField>()
, 112usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentOrderCommRateField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . InvestorRange as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . OrderCommByVolume as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( OrderCommByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . OrderActionCommByVolume as * const _ as usize } , 72usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( OrderActionCommByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . ExchangeID as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
) . InvestUnitID as * const _ as usize } , 89usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
( InvestUnitID ) ));
}
impl Clone for CThostFtdcInstrumentOrderCommRateField {
fn clone(&self) -> Self { *self }
}
/// 报单手续费率查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInstrumentOrderCommRateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInstrumentOrderCommRateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentOrderCommRateField>()
, 55usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInstrumentOrderCommRateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentOrderCommRateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInstrumentOrderCommRateField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentOrderCommRateField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentOrderCommRateField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentOrderCommRateField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentOrderCommRateField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInstrumentOrderCommRateField ) )
. InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentOrderCommRateField ) , "::" , stringify
! ( InstrumentID ) ));
}
impl Clone for CThostFtdcQryInstrumentOrderCommRateField {
fn clone(&self) -> Self { *self }
}
/// 交易参数
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTradeParamField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 参数代码
pub TradeParamID: TThostFtdcTradeParamIDType,
/// 参数代码值
pub TradeParamValue: TThostFtdcSettlementParamValueType,
/// 备注
pub Memo: TThostFtdcMemoType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradeParamField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradeParamField>() , 429usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcTradeParamField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradeParamField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcTradeParamField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeParamField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradeParamField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeParamField ) ) .
TradeParamID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradeParamField ) , "::" , stringify ! (
TradeParamID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeParamField ) ) .
TradeParamValue as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradeParamField ) , "::" , stringify ! (
TradeParamValue ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradeParamField ) ) . Memo as *
const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradeParamField ) , "::" , stringify ! ( Memo ) ));
}
impl Clone for CThostFtdcTradeParamField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTradeParamField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 合约保证金率调整
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentMarginRateULField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 多头保证金率
pub LongMarginRatioByMoney: TThostFtdcRatioType,
/// 多头保证金费
pub LongMarginRatioByVolume: TThostFtdcMoneyType,
/// 空头保证金率
pub ShortMarginRatioByMoney: TThostFtdcRatioType,
/// 空头保证金费
pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentMarginRateULField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentMarginRateULField>()
, 96usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentMarginRateULField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. InvestorRange as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. InvestorID as * const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. HedgeFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. LongMarginRatioByMoney as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
LongMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. LongMarginRatioByVolume as * const _ as usize } , 72usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
LongMarginRatioByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. ShortMarginRatioByMoney as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
ShortMarginRatioByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
. ShortMarginRatioByVolume as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
ShortMarginRatioByVolume ) ));
}
impl Clone for CThostFtdcInstrumentMarginRateULField {
fn clone(&self) -> Self { *self }
}
/// 期货持仓限制参数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcFutureLimitPosiParamField {
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 当日投机开仓数量限制
pub SpecOpenVolume: TThostFtdcVolumeType,
/// 当日套利开仓数量限制
pub ArbiOpenVolume: TThostFtdcVolumeType,
/// 当日投机+套利开仓数量限制
pub OpenVolume: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcFutureLimitPosiParamField() {
assert_eq!(::std::mem::size_of::<CThostFtdcFutureLimitPosiParamField>() ,
68usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcFutureLimitPosiParamField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcFutureLimitPosiParamField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
InvestorRange as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
BrokerID as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
InvestorID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
ProductID as * const _ as usize } , 25usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
ProductID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
SpecOpenVolume as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
SpecOpenVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
ArbiOpenVolume as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
ArbiOpenVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
OpenVolume as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
OpenVolume ) ));
}
impl Clone for CThostFtdcFutureLimitPosiParamField {
fn clone(&self) -> Self { *self }
}
/// 禁止登录IP
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcLoginForbiddenIPField {
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcLoginForbiddenIPField() {
assert_eq!(::std::mem::size_of::<CThostFtdcLoginForbiddenIPField>() ,
16usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcLoginForbiddenIPField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcLoginForbiddenIPField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcLoginForbiddenIPField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginForbiddenIPField ) ) .
IPAddress as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginForbiddenIPField ) , "::" , stringify ! (
IPAddress ) ));
}
impl Clone for CThostFtdcLoginForbiddenIPField {
fn clone(&self) -> Self { *self }
}
/// IP列表
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcIPListField {
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// 是否白名单
pub IsWhite: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcIPListField() {
assert_eq!(::std::mem::size_of::<CThostFtdcIPListField>() , 20usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcIPListField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcIPListField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcIPListField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcIPListField ) ) . IPAddress as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcIPListField )
, "::" , stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcIPListField ) ) . IsWhite as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcIPListField )
, "::" , stringify ! ( IsWhite ) ));
}
impl Clone for CThostFtdcIPListField {
fn clone(&self) -> Self { *self }
}
/// 输入的期权自对冲
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputOptionSelfCloseField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 期权自对冲引用
pub OptionSelfCloseRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 期权行权的头寸是否自对冲
pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputOptionSelfCloseField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputOptionSelfCloseField>() ,
208usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInputOptionSelfCloseField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputOptionSelfCloseField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
OptionSelfCloseRef as * const _ as usize } , 55usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
OptionSelfCloseRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
UserID as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
Volume as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
RequestID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
BusinessUnit as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
HedgeFlag as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
OptSelfCloseFlag as * const _ as usize } , 114usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
OptSelfCloseFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
ExchangeID as * const _ as usize } , 115usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
InvestUnitID as * const _ as usize } , 124usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
AccountID as * const _ as usize } , 141usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
CurrencyID as * const _ as usize } , 154usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
ClientID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
IPAddress as * const _ as usize } , 169usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
MacAddress as * const _ as usize } , 185usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcInputOptionSelfCloseField {
fn clone(&self) -> Self { *self }
}
/// 输入期权自对冲操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInputOptionSelfCloseActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 期权自对冲操作引用
pub OptionSelfCloseActionRef: TThostFtdcOrderActionRefType,
/// 期权自对冲引用
pub OptionSelfCloseRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 期权自对冲操作编号
pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInputOptionSelfCloseActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInputOptionSelfCloseActionField>()
, 188usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInputOptionSelfCloseActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. OptionSelfCloseActionRef as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( OptionSelfCloseActionRef ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. OptionSelfCloseRef as * const _ as usize } , 28usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( OptionSelfCloseRef ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( RequestID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( FrontID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( SessionID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. OptionSelfCloseSysID as * const _ as usize } , 65usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( OptionSelfCloseSysID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( ActionFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. UserID as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( UserID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. InstrumentID as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. InvestUnitID as * const _ as usize } , 134usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( InvestUnitID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. IPAddress as * const _ as usize } , 151usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( IPAddress ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
. MacAddress as * const _ as usize } , 167usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
! ( MacAddress ) ));
}
impl Clone for CThostFtdcInputOptionSelfCloseActionField {
fn clone(&self) -> Self { *self }
}
/// 期权自对冲
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcOptionSelfCloseField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 期权自对冲引用
pub OptionSelfCloseRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 期权行权的头寸是否自对冲
pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
/// 本地期权自对冲编号
pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 期权自对冲提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 期权自对冲编号
pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 自对冲结果
pub ExecResult: TThostFtdcExecResultType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 操作用户代码
pub ActiveUserID: TThostFtdcUserIDType,
/// 经纪公司报单编号
pub BrokerOptionSelfCloseSeq: TThostFtdcSequenceNoType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionSelfCloseField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionSelfCloseField>() ,
504usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcOptionSelfCloseField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionSelfCloseField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcOptionSelfCloseField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
OptionSelfCloseRef as * const _ as usize } , 55usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
OptionSelfCloseRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
UserID as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
Volume as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! ( Volume
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
RequestID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
BusinessUnit as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
HedgeFlag as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
OptSelfCloseFlag as * const _ as usize } , 114usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
OptSelfCloseFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
OptionSelfCloseLocalID as * const _ as usize } , 115usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
OptionSelfCloseLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ExchangeID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ParticipantID as * const _ as usize } , 137usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ClientID as * const _ as usize } , 148usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ExchangeInstID as * const _ as usize } , 159usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
TraderID as * const _ as usize } , 190usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
InstallID as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
OrderSubmitStatus as * const _ as usize } , 216usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
NotifySequence as * const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
TradingDay as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
SettlementID as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
OptionSelfCloseSysID as * const _ as usize } , 240usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
OptionSelfCloseSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
InsertDate as * const _ as usize } , 261usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
InsertTime as * const _ as usize } , 270usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
CancelTime as * const _ as usize } , 279usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ExecResult as * const _ as usize } , 288usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ExecResult ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ClearingPartID as * const _ as usize } , 289usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
SequenceNo as * const _ as usize } , 300usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
FrontID as * const _ as usize } , 304usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
SessionID as * const _ as usize } , 308usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
UserProductInfo as * const _ as usize } , 312usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
StatusMsg as * const _ as usize } , 323usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
ActiveUserID as * const _ as usize } , 404usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
ActiveUserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
BrokerOptionSelfCloseSeq as * const _ as usize } , 420usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
BrokerOptionSelfCloseSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
BranchID as * const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
InvestUnitID as * const _ as usize } , 433usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
AccountID as * const _ as usize } , 450usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
CurrencyID as * const _ as usize } , 463usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
IPAddress as * const _ as usize } , 467usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
MacAddress as * const _ as usize } , 483usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcOptionSelfCloseField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcOptionSelfCloseField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期权自对冲操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcOptionSelfCloseActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 期权自对冲操作引用
pub OptionSelfCloseActionRef: TThostFtdcOrderActionRefType,
/// 期权自对冲引用
pub OptionSelfCloseRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 期权自对冲操作编号
pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地期权自对冲编号
pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOptionSelfCloseActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOptionSelfCloseActionField>() ,
396usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOptionSelfCloseActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. OptionSelfCloseActionRef as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
OptionSelfCloseActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. OptionSelfCloseRef as * const _ as usize } , 28usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
OptionSelfCloseRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. OptionSelfCloseSysID as * const _ as usize } , 65usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
OptionSelfCloseSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ActionDate as * const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ActionTime as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. TraderID as * const _ as usize } , 105usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. InstallID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. OptionSelfCloseLocalID as * const _ as usize } , 132usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
OptionSelfCloseLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ActionLocalID as * const _ as usize } , 145usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ParticipantID as * const _ as usize } , 158usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. ClientID as * const _ as usize } , 169usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. BusinessUnit as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. OrderActionStatus as * const _ as usize } , 201usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. UserID as * const _ as usize } , 202usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. StatusMsg as * const _ as usize } , 218usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. InstrumentID as * const _ as usize } , 299usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. BranchID as * const _ as usize } , 330usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. InvestUnitID as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. IPAddress as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
. MacAddress as * const _ as usize } , 372usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcOptionSelfCloseActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcOptionSelfCloseActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期权自对冲查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOptionSelfCloseField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 期权自对冲编号
pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
/// 开始时间
pub InsertTimeStart: TThostFtdcTimeType,
/// 结束时间
pub InsertTimeEnd: TThostFtdcTimeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOptionSelfCloseField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionSelfCloseField>() ,
103usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryOptionSelfCloseField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionSelfCloseField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
OptionSelfCloseSysID as * const _ as usize } , 64usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
OptionSelfCloseSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
InsertTimeStart as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
InsertTimeStart ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
InsertTimeEnd ) ));
}
impl Clone for CThostFtdcQryOptionSelfCloseField {
fn clone(&self) -> Self { *self }
}
/// 交易所期权自对冲信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeOptionSelfCloseField {
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 期权行权的头寸是否自对冲
pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
/// 本地期权自对冲编号
pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 期权自对冲提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 期权自对冲编号
pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 插入时间
pub InsertTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 自对冲结果
pub ExecResult: TThostFtdcExecResultType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeOptionSelfCloseField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOptionSelfCloseField>()
, 268usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOptionSelfCloseField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . Volume as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . RequestID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . BusinessUnit as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . HedgeFlag as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . OptSelfCloseFlag as * const _ as usize } , 30usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( OptSelfCloseFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . OptionSelfCloseLocalID as * const _ as usize } , 31usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( OptionSelfCloseLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . ExchangeID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . ParticipantID as * const _ as usize } , 53usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . ClientID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . ExchangeInstID as * const _ as usize } , 75usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . TraderID as * const _ as usize } , 106usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . InstallID as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . OrderSubmitStatus as * const _ as usize } , 132usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . NotifySequence as * const _ as usize } , 136usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . TradingDay as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . SettlementID as * const _ as usize } , 152usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . OptionSelfCloseSysID as * const _ as usize } , 156usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( OptionSelfCloseSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . InsertDate as * const _ as usize } , 177usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . InsertTime as * const _ as usize } , 186usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . CancelTime as * const _ as usize } , 195usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . ExecResult as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( ExecResult ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . ClearingPartID as * const _ as usize } , 205usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . SequenceNo as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . BranchID as * const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . IPAddress as * const _ as usize } , 229usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
) . MacAddress as * const _ as usize } , 245usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
( MacAddress ) ));
}
impl Clone for CThostFtdcExchangeOptionSelfCloseField {
fn clone(&self) -> Self { *self }
}
/// 期权自对冲操作查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryOptionSelfCloseActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryOptionSelfCloseActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionSelfCloseActionField>()
, 33usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryOptionSelfCloseActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionSelfCloseActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryOptionSelfCloseActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseActionField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseActionField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseActionField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseActionField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryOptionSelfCloseActionField )
) . ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryOptionSelfCloseActionField ) , "::" , stringify !
( ExchangeID ) ));
}
impl Clone for CThostFtdcQryOptionSelfCloseActionField {
fn clone(&self) -> Self { *self }
}
/// 交易所期权自对冲操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeOptionSelfCloseActionField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 期权自对冲操作编号
pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地期权自对冲编号
pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 期权行权的头寸是否自对冲
pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeOptionSelfCloseActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOptionSelfCloseActionField>()
, 240usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOptionSelfCloseActionField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . OptionSelfCloseSysID as * const _ as usize } , 9usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( OptionSelfCloseSysID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ActionFlag as * const _ as usize } , 30usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ActionFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ActionDate as * const _ as usize } , 31usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ActionDate ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ActionTime as * const _ as usize } , 40usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ActionTime ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . TraderID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( TraderID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . InstallID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( InstallID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . OptionSelfCloseLocalID as * const _ as usize } , 76usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( OptionSelfCloseLocalID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ActionLocalID as * const _ as usize } , 89usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ActionLocalID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ParticipantID as * const _ as usize } , 102usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ParticipantID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ClientID as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ClientID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . BusinessUnit as * const _ as usize } , 124usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( BusinessUnit ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . OrderActionStatus as * const _ as usize } , 145usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( OrderActionStatus ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . UserID as * const _ as usize } , 146usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( UserID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . BranchID as * const _ as usize } , 162usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( BranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . IPAddress as * const _ as usize } , 171usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . MacAddress as * const _ as usize } , 187usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( MacAddress ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . ExchangeInstID as * const _ as usize } , 208usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( ExchangeInstID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
) ) . OptSelfCloseFlag as * const _ as usize } , 239usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
stringify ! ( OptSelfCloseFlag ) ));
}
impl Clone for CThostFtdcExchangeOptionSelfCloseActionField {
fn clone(&self) -> Self { *self }
}
/// 延时换汇同步
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncDelaySwapField {
/// 换汇流水号
pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 源币种
pub FromCurrencyID: TThostFtdcCurrencyIDType,
/// 源金额
pub FromAmount: TThostFtdcMoneyType,
/// 源换汇冻结金额(可用冻结)
pub FromFrozenSwap: TThostFtdcMoneyType,
/// 源剩余换汇额度(可提冻结)
pub FromRemainSwap: TThostFtdcMoneyType,
/// 目标币种
pub ToCurrencyID: TThostFtdcCurrencyIDType,
/// 目标金额
pub ToAmount: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncDelaySwapField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncDelaySwapField>() , 88usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncDelaySwapField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncDelaySwapField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcSyncDelaySwapField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
DelaySwapSeqNo as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
DelaySwapSeqNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
BrokerID as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
InvestorID as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
FromCurrencyID as * const _ as usize } , 39usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
FromCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
FromAmount as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
FromAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
FromFrozenSwap as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
FromFrozenSwap ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
FromRemainSwap as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
FromRemainSwap ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
ToCurrencyID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
ToCurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
ToAmount as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncDelaySwapField ) , "::" , stringify ! ( ToAmount
) ));
}
impl Clone for CThostFtdcSyncDelaySwapField {
fn clone(&self) -> Self { *self }
}
/// 查询延时换汇同步
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySyncDelaySwapField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 延时换汇流水号
pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySyncDelaySwapField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncDelaySwapField>() ,
26usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySyncDelaySwapField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncDelaySwapField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySyncDelaySwapField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncDelaySwapField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncDelaySwapField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncDelaySwapField ) ) .
DelaySwapSeqNo as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncDelaySwapField ) , "::" , stringify ! (
DelaySwapSeqNo ) ));
}
impl Clone for CThostFtdcQrySyncDelaySwapField {
fn clone(&self) -> Self { *self }
}
/// 投资单元
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcInvestUnitField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 投资者单元名称
pub InvestorUnitName: TThostFtdcPartyNameType,
/// 投资者分组代码
pub InvestorGroupID: TThostFtdcInvestorIDType,
/// 手续费率模板代码
pub CommModelID: TThostFtdcInvestorIDType,
/// 保证金率模板代码
pub MarginModelID: TThostFtdcInvestorIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestUnitField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestUnitField>() , 178usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcInvestUnitField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestUnitField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcInvestUnitField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
InvestUnitID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
InvestorUnitName as * const _ as usize } , 41usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! (
InvestorUnitName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
InvestorGroupID as * const _ as usize } , 122usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! (
InvestorGroupID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
CommModelID as * const _ as usize } , 135usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! ( CommModelID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
MarginModelID as * const _ as usize } , 148usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! (
MarginModelID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) . AccountID
as * const _ as usize } , 161usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! ( AccountID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
CurrencyID as * const _ as usize } , 174usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestUnitField ) , "::" , stringify ! ( CurrencyID
) ));
}
impl Clone for CThostFtdcInvestUnitField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcInvestUnitField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询投资单元
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestUnitField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestUnitField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestUnitField>() , 41usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQryInvestUnitField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestUnitField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryInvestUnitField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestUnitField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestUnitField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestUnitField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestUnitField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInvestUnitField ) ) .
InvestUnitID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestUnitField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInvestUnitField {
fn clone(&self) -> Self { *self }
}
/// 二级代理商资金校验模式
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSecAgentCheckModeField {
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 币种
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 境外中介机构资金帐号
pub BrokerSecAgentID: TThostFtdcAccountIDType,
/// 是否需要校验自己的资金账户
pub CheckSelfAccount: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSecAgentCheckModeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSecAgentCheckModeField>() ,
48usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSecAgentCheckModeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSecAgentCheckModeField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSecAgentCheckModeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
InvestorID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
BrokerID as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
CurrencyID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
BrokerSecAgentID as * const _ as usize } , 28usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
BrokerSecAgentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
CheckSelfAccount as * const _ as usize } , 44usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
CheckSelfAccount ) ));
}
impl Clone for CThostFtdcSecAgentCheckModeField {
fn clone(&self) -> Self { *self }
}
/// 二级代理商信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcSecAgentTradeInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 境外中介机构资金帐号
pub BrokerSecAgentID: TThostFtdcAccountIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 二级代理商姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSecAgentTradeInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSecAgentTradeInfoField>() ,
198usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSecAgentTradeInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSecAgentTradeInfoField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSecAgentTradeInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
BrokerSecAgentID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
BrokerSecAgentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
InvestorID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
LongCustomerName as * const _ as usize } , 37usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcSecAgentTradeInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcSecAgentTradeInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 市场行情
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 最新价
pub LastPrice: TThostFtdcPriceType,
/// 上次结算价
pub PreSettlementPrice: TThostFtdcPriceType,
/// 昨收盘
pub PreClosePrice: TThostFtdcPriceType,
/// 昨持仓量
pub PreOpenInterest: TThostFtdcLargeVolumeType,
/// 今开盘
pub OpenPrice: TThostFtdcPriceType,
/// 最高价
pub HighestPrice: TThostFtdcPriceType,
/// 最低价
pub LowestPrice: TThostFtdcPriceType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 成交金额
pub Turnover: TThostFtdcMoneyType,
/// 持仓量
pub OpenInterest: TThostFtdcLargeVolumeType,
/// 今收盘
pub ClosePrice: TThostFtdcPriceType,
/// 本次结算价
pub SettlementPrice: TThostFtdcPriceType,
/// 涨停板价
pub UpperLimitPrice: TThostFtdcPriceType,
/// 跌停板价
pub LowerLimitPrice: TThostFtdcPriceType,
/// 昨虚实度
pub PreDelta: TThostFtdcRatioType,
/// 今虚实度
pub CurrDelta: TThostFtdcRatioType,
/// 最后修改时间
pub UpdateTime: TThostFtdcTimeType,
/// 最后修改毫秒
pub UpdateMillisec: TThostFtdcMillisecType,
/// 业务日期
pub ActionDay: TThostFtdcDateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataField>() , 240usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarketDataField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
InstrumentID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
ExchangeID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
ExchangeInstID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . LastPrice
as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( LastPrice )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
PreSettlementPrice as * const _ as usize } , 88usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
PreSettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
PreClosePrice as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
PreClosePrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
PreOpenInterest as * const _ as usize } , 104usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
PreOpenInterest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . OpenPrice
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( OpenPrice )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
HighestPrice as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
HighestPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
LowestPrice as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( LowestPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . Volume as
* const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( Volume )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . Turnover
as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( Turnover )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
OpenInterest as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
OpenInterest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
ClosePrice as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( ClosePrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
SettlementPrice as * const _ as usize } , 168usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
SettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
UpperLimitPrice as * const _ as usize } , 176usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
UpperLimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
LowerLimitPrice as * const _ as usize } , 184usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
LowerLimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . PreDelta
as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( PreDelta )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . CurrDelta
as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( CurrDelta )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
UpdateTime as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( UpdateTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
UpdateMillisec as * const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! (
UpdateMillisec ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataField ) ) . ActionDay
as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataField ) , "::" , stringify ! ( ActionDay )
));
}
impl Clone for CThostFtdcMarketDataField {
fn clone(&self) -> Self { *self }
}
/// 行情基础属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataBaseField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 上次结算价
pub PreSettlementPrice: TThostFtdcPriceType,
/// 昨收盘
pub PreClosePrice: TThostFtdcPriceType,
/// 昨持仓量
pub PreOpenInterest: TThostFtdcLargeVolumeType,
/// 昨虚实度
pub PreDelta: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataBaseField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBaseField>() ,
48usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataBaseField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBaseField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarketDataBaseField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
PreSettlementPrice as * const _ as usize } , 16usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
PreSettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
PreClosePrice as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
PreClosePrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
PreOpenInterest as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
PreOpenInterest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
PreDelta as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
PreDelta ) ));
}
impl Clone for CThostFtdcMarketDataBaseField {
fn clone(&self) -> Self { *self }
}
/// 行情静态属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataStaticField {
/// 今开盘
pub OpenPrice: TThostFtdcPriceType,
/// 最高价
pub HighestPrice: TThostFtdcPriceType,
/// 最低价
pub LowestPrice: TThostFtdcPriceType,
/// 今收盘
pub ClosePrice: TThostFtdcPriceType,
/// 涨停板价
pub UpperLimitPrice: TThostFtdcPriceType,
/// 跌停板价
pub LowerLimitPrice: TThostFtdcPriceType,
/// 本次结算价
pub SettlementPrice: TThostFtdcPriceType,
/// 今虚实度
pub CurrDelta: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataStaticField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataStaticField>() ,
64usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataStaticField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataStaticField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMarketDataStaticField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
OpenPrice as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
OpenPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
HighestPrice as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
HighestPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
LowestPrice as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
LowestPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
ClosePrice as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
ClosePrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
UpperLimitPrice as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
UpperLimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
LowerLimitPrice as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
LowerLimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
SettlementPrice as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
SettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
CurrDelta as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
CurrDelta ) ));
}
impl Clone for CThostFtdcMarketDataStaticField {
fn clone(&self) -> Self { *self }
}
/// 行情最新成交属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataLastMatchField {
/// 最新价
pub LastPrice: TThostFtdcPriceType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 成交金额
pub Turnover: TThostFtdcMoneyType,
/// 持仓量
pub OpenInterest: TThostFtdcLargeVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataLastMatchField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataLastMatchField>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataLastMatchField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataLastMatchField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMarketDataLastMatchField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
LastPrice as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
LastPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
Volume as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
Turnover as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
Turnover ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
OpenInterest as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
OpenInterest ) ));
}
impl Clone for CThostFtdcMarketDataLastMatchField {
fn clone(&self) -> Self { *self }
}
/// 行情最优价属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataBestPriceField {
/// 申买价一
pub BidPrice1: TThostFtdcPriceType,
/// 申买量一
pub BidVolume1: TThostFtdcVolumeType,
/// 申卖价一
pub AskPrice1: TThostFtdcPriceType,
/// 申卖量一
pub AskVolume1: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataBestPriceField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBestPriceField>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataBestPriceField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBestPriceField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMarketDataBestPriceField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
BidPrice1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
BidPrice1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
BidVolume1 as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
BidVolume1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
AskPrice1 as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
AskPrice1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
AskVolume1 as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
AskVolume1 ) ));
}
impl Clone for CThostFtdcMarketDataBestPriceField {
fn clone(&self) -> Self { *self }
}
/// 行情申买二、三属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataBid23Field {
/// 申买价二
pub BidPrice2: TThostFtdcPriceType,
/// 申买量二
pub BidVolume2: TThostFtdcVolumeType,
/// 申买价三
pub BidPrice3: TThostFtdcPriceType,
/// 申买量三
pub BidVolume3: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataBid23Field() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBid23Field>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataBid23Field )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBid23Field>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarketDataBid23Field
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
BidPrice2 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
BidPrice2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
BidVolume2 as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
BidVolume2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
BidPrice3 as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
BidPrice3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
BidVolume3 as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
BidVolume3 ) ));
}
impl Clone for CThostFtdcMarketDataBid23Field {
fn clone(&self) -> Self { *self }
}
/// 行情申卖二、三属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataAsk23Field {
/// 申卖价二
pub AskPrice2: TThostFtdcPriceType,
/// 申卖量二
pub AskVolume2: TThostFtdcVolumeType,
/// 申卖价三
pub AskPrice3: TThostFtdcPriceType,
/// 申卖量三
pub AskVolume3: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataAsk23Field() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataAsk23Field>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataAsk23Field )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataAsk23Field>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarketDataAsk23Field
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
AskPrice2 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
AskPrice2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
AskVolume2 as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
AskVolume2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
AskPrice3 as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
AskPrice3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
AskVolume3 as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
AskVolume3 ) ));
}
impl Clone for CThostFtdcMarketDataAsk23Field {
fn clone(&self) -> Self { *self }
}
/// 行情申买四、五属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataBid45Field {
/// 申买价四
pub BidPrice4: TThostFtdcPriceType,
/// 申买量四
pub BidVolume4: TThostFtdcVolumeType,
/// 申买价五
pub BidPrice5: TThostFtdcPriceType,
/// 申买量五
pub BidVolume5: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataBid45Field() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBid45Field>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataBid45Field )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBid45Field>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarketDataBid45Field
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
BidPrice4 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
BidPrice4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
BidVolume4 as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
BidVolume4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
BidPrice5 as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
BidPrice5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
BidVolume5 as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
BidVolume5 ) ));
}
impl Clone for CThostFtdcMarketDataBid45Field {
fn clone(&self) -> Self { *self }
}
/// 行情申卖四、五属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataAsk45Field {
/// 申卖价四
pub AskPrice4: TThostFtdcPriceType,
/// 申卖量四
pub AskVolume4: TThostFtdcVolumeType,
/// 申卖价五
pub AskPrice5: TThostFtdcPriceType,
/// 申卖量五
pub AskVolume5: TThostFtdcVolumeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataAsk45Field() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataAsk45Field>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataAsk45Field )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataAsk45Field>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarketDataAsk45Field
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
AskPrice4 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
AskPrice4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
AskVolume4 as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
AskVolume4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
AskPrice5 as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
AskPrice5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
AskVolume5 as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
AskVolume5 ) ));
}
impl Clone for CThostFtdcMarketDataAsk45Field {
fn clone(&self) -> Self { *self }
}
/// 行情更新时间属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataUpdateTimeField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 最后修改时间
pub UpdateTime: TThostFtdcTimeType,
/// 最后修改毫秒
pub UpdateMillisec: TThostFtdcMillisecType,
/// 业务日期
pub ActionDay: TThostFtdcDateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataUpdateTimeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataUpdateTimeField>() ,
56usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataUpdateTimeField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataUpdateTimeField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMarketDataUpdateTimeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
UpdateTime as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
UpdateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
UpdateMillisec as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
UpdateMillisec ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
ActionDay as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
ActionDay ) ));
}
impl Clone for CThostFtdcMarketDataUpdateTimeField {
fn clone(&self) -> Self { *self }
}
/// 行情交易所代码属性
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataExchangeField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataExchangeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataExchangeField>() ,
9usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMarketDataExchangeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataExchangeField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMarketDataExchangeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataExchangeField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataExchangeField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcMarketDataExchangeField {
fn clone(&self) -> Self { *self }
}
/// 指定的合约
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSpecificInstrumentField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSpecificInstrumentField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSpecificInstrumentField>() ,
31usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSpecificInstrumentField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSpecificInstrumentField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcSpecificInstrumentField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSpecificInstrumentField ) ) .
InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSpecificInstrumentField ) , "::" , stringify ! (
InstrumentID ) ));
}
impl Clone for CThostFtdcSpecificInstrumentField {
fn clone(&self) -> Self { *self }
}
/// 合约状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInstrumentStatusField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 结算组代码
pub SettlementGroupID: TThostFtdcSettlementGroupIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 合约交易状态
pub InstrumentStatus: TThostFtdcInstrumentStatusType,
/// 交易阶段编号
pub TradingSegmentSN: TThostFtdcTradingSegmentSNType,
/// 进入本状态时间
pub EnterTime: TThostFtdcTimeType,
/// 进入本状态原因
pub EnterReason: TThostFtdcInstStatusEnterReasonType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInstrumentStatusField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentStatusField>() ,
100usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInstrumentStatusField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentStatusField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInstrumentStatusField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
ExchangeInstID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
SettlementGroupID as * const _ as usize } , 40usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
SettlementGroupID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
InstrumentID as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
InstrumentStatus as * const _ as usize } , 80usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
InstrumentStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
TradingSegmentSN as * const _ as usize } , 84usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
TradingSegmentSN ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
EnterTime as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
EnterTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
EnterReason as * const _ as usize } , 97usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
EnterReason ) ));
}
impl Clone for CThostFtdcInstrumentStatusField {
fn clone(&self) -> Self { *self }
}
/// 查询合约状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInstrumentStatusField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInstrumentStatusField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentStatusField>() ,
40usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryInstrumentStatusField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentStatusField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInstrumentStatusField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentStatusField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentStatusField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryInstrumentStatusField ) ) .
ExchangeInstID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInstrumentStatusField ) , "::" , stringify ! (
ExchangeInstID ) ));
}
impl Clone for CThostFtdcQryInstrumentStatusField {
fn clone(&self) -> Self { *self }
}
/// 投资者账户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInvestorAccountField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorAccountField>() ,
41usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcInvestorAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorAccountField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcInvestorAccountField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorAccountField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
AccountID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
CurrencyID as * const _ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorAccountField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcInvestorAccountField {
fn clone(&self) -> Self { *self }
}
/// 浮动盈亏算法
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcPositionProfitAlgorithmField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 盈亏算法
pub Algorithm: TThostFtdcAlgorithmType,
/// 备注
pub Memo: TThostFtdcMemoType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcPositionProfitAlgorithmField() {
assert_eq!(::std::mem::size_of::<CThostFtdcPositionProfitAlgorithmField>()
, 190usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcPositionProfitAlgorithmField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
) . AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
( AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
) . Algorithm as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
( Algorithm ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
) . Memo as * const _ as usize } , 25usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
( Memo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
) . CurrencyID as * const _ as usize } , 186usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
( CurrencyID ) ));
}
impl Clone for CThostFtdcPositionProfitAlgorithmField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcPositionProfitAlgorithmField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 会员资金折扣
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcDiscountField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 资金折扣比例
pub Discount: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcDiscountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcDiscountField>() , 40usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcDiscountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcDiscountField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcDiscountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDiscountField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcDiscountField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDiscountField ) ) .
InvestorRange as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcDiscountField
) , "::" , stringify ! ( InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDiscountField ) ) . InvestorID
as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcDiscountField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDiscountField ) ) . Discount as
* const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcDiscountField
) , "::" , stringify ! ( Discount ) ));
}
impl Clone for CThostFtdcDiscountField {
fn clone(&self) -> Self { *self }
}
/// 查询转帐银行
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTransferBankField {
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分中心代码
pub BankBrchID: TThostFtdcBankBrchIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTransferBankField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTransferBankField>() ,
9usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTransferBankField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTransferBankField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryTransferBankField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTransferBankField ) ) .
BankID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTransferBankField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTransferBankField ) ) .
BankBrchID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTransferBankField ) , "::" , stringify ! (
BankBrchID ) ));
}
impl Clone for CThostFtdcQryTransferBankField {
fn clone(&self) -> Self { *self }
}
/// 转帐银行
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTransferBankField {
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分中心代码
pub BankBrchID: TThostFtdcBankBrchIDType,
/// 银行名称
pub BankName: TThostFtdcBankNameType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferBankField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferBankField>() , 116usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferBankField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferBankField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcTransferBankField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankField ) ) . BankID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankField ) ) .
BankBrchID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankField ) , "::" , stringify ! (
BankBrchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankField ) ) .
BankName as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankField ) , "::" , stringify ! ( BankName
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferBankField ) ) .
IsActive as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferBankField ) , "::" , stringify ! ( IsActive
) ));
}
impl Clone for CThostFtdcTransferBankField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTransferBankField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询投资者持仓明细
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestorPositionDetailField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestorPositionDetailField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorPositionDetailField>()
, 81usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorPositionDetailField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
. InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
. ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
. InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInvestorPositionDetailField {
fn clone(&self) -> Self { *self }
}
/// 投资者持仓明细
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInvestorPositionDetailField {
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 买卖
pub Direction: TThostFtdcDirectionType,
/// 开仓日期
pub OpenDate: TThostFtdcDateType,
/// 成交编号
pub TradeID: TThostFtdcTradeIDType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 开仓价
pub OpenPrice: TThostFtdcPriceType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 成交类型
pub TradeType: TThostFtdcTradeTypeType,
/// 组合合约代码
pub CombInstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 逐日盯市平仓盈亏
pub CloseProfitByDate: TThostFtdcMoneyType,
/// 逐笔对冲平仓盈亏
pub CloseProfitByTrade: TThostFtdcMoneyType,
/// 逐日盯市持仓盈亏
pub PositionProfitByDate: TThostFtdcMoneyType,
/// 逐笔对冲持仓盈亏
pub PositionProfitByTrade: TThostFtdcMoneyType,
/// 投资者保证金
pub Margin: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchMargin: TThostFtdcMoneyType,
/// 保证金率
pub MarginRateByMoney: TThostFtdcRatioType,
/// 保证金率(按手数)
pub MarginRateByVolume: TThostFtdcRatioType,
/// 昨结算价
pub LastSettlementPrice: TThostFtdcPriceType,
/// 结算价
pub SettlementPrice: TThostFtdcPriceType,
/// 平仓量
pub CloseVolume: TThostFtdcVolumeType,
/// 平仓金额
pub CloseAmount: TThostFtdcMoneyType,
/// 按照时间顺序平仓的笔数,大商所专用
pub TimeFirstVolume: TThostFtdcVolumeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorPositionDetailField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorPositionDetailField>()
, 288usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorPositionDetailField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInvestorPositionDetailField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. InstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. BrokerID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. InvestorID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. HedgeFlag as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. Direction as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. OpenDate as * const _ as usize } , 57usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
OpenDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. TradeID as * const _ as usize } , 66usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
TradeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. Volume as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
Volume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. OpenPrice as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
OpenPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. TradingDay as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. SettlementID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. TradeType as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
TradeType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. CombInstrumentID as * const _ as usize } , 121usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
CombInstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. ExchangeID as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. CloseProfitByDate as * const _ as usize } , 168usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
CloseProfitByDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. CloseProfitByTrade as * const _ as usize } , 176usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
CloseProfitByTrade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. PositionProfitByDate as * const _ as usize } , 184usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
PositionProfitByDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. PositionProfitByTrade as * const _ as usize } , 192usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
PositionProfitByTrade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. Margin as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
Margin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. ExchMargin as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
ExchMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. MarginRateByMoney as * const _ as usize } , 216usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
MarginRateByMoney ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. MarginRateByVolume as * const _ as usize } , 224usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
MarginRateByVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. LastSettlementPrice as * const _ as usize } , 232usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
LastSettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. SettlementPrice as * const _ as usize } , 240usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
SettlementPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. CloseVolume as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
CloseVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. CloseAmount as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
CloseAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. TimeFirstVolume as * const _ as usize } , 264usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
TimeFirstVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
. InvestUnitID as * const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcInvestorPositionDetailField {
fn clone(&self) -> Self { *self }
}
/// 资金账户口令域
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTradingAccountPasswordField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingAccountPasswordField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountPasswordField>()
, 69usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTradingAccountPasswordField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountPasswordField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTradingAccountPasswordField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
. AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
. Password as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
. CurrencyID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcTradingAccountPasswordField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTradingAccountPasswordField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易所行情报盘机
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcMDTraderOfferField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所交易员连接状态
pub TraderConnectStatus: TThostFtdcTraderConnectStatusType,
/// 发出连接请求的日期
pub ConnectRequestDate: TThostFtdcDateType,
/// 发出连接请求的时间
pub ConnectRequestTime: TThostFtdcTimeType,
/// 上次报告日期
pub LastReportDate: TThostFtdcDateType,
/// 上次报告时间
pub LastReportTime: TThostFtdcTimeType,
/// 完成连接日期
pub ConnectDate: TThostFtdcDateType,
/// 完成连接时间
pub ConnectTime: TThostFtdcTimeType,
/// 启动日期
pub StartDate: TThostFtdcDateType,
/// 启动时间
pub StartTime: TThostFtdcTimeType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 本席位最大成交编号
pub MaxTradeID: TThostFtdcTradeIDType,
/// 本席位最大报单备拷
pub MaxOrderMessageReference: TThostFtdcReturnCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMDTraderOfferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMDTraderOfferField>() ,
224usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMDTraderOfferField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMDTraderOfferField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcMDTraderOfferField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
TraderID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! ( TraderID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
ParticipantID as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
Password as * const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! ( Password
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
InstallID as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
OrderLocalID as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
TraderConnectStatus as * const _ as usize } , 101usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
TraderConnectStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
ConnectRequestDate as * const _ as usize } , 102usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
ConnectRequestDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
ConnectRequestTime as * const _ as usize } , 111usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
ConnectRequestTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
LastReportDate as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
LastReportDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
LastReportTime as * const _ as usize } , 129usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
LastReportTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
ConnectDate as * const _ as usize } , 138usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
ConnectDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
ConnectTime as * const _ as usize } , 147usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
ConnectTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
StartDate as * const _ as usize } , 156usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
StartDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
StartTime as * const _ as usize } , 165usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
StartTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
TradingDay as * const _ as usize } , 174usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
BrokerID as * const _ as usize } , 183usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
MaxTradeID as * const _ as usize } , 194usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
MaxTradeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
MaxOrderMessageReference as * const _ as usize } , 215usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
MaxOrderMessageReference ) ));
}
impl Clone for CThostFtdcMDTraderOfferField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcMDTraderOfferField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询行情报盘机
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryMDTraderOfferField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryMDTraderOfferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryMDTraderOfferField>() ,
41usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryMDTraderOfferField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryMDTraderOfferField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryMDTraderOfferField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMDTraderOfferField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMDTraderOfferField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMDTraderOfferField ) ) .
ParticipantID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMDTraderOfferField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMDTraderOfferField ) ) .
TraderID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMDTraderOfferField ) , "::" , stringify ! (
TraderID ) ));
}
impl Clone for CThostFtdcQryMDTraderOfferField {
fn clone(&self) -> Self { *self }
}
/// 查询客户通知
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryNoticeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryNoticeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryNoticeField>() , 11usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryNoticeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryNoticeField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryNoticeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryNoticeField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryNoticeField ) , "::" , stringify ! ( BrokerID )
));
}
impl Clone for CThostFtdcQryNoticeField {
fn clone(&self) -> Self { *self }
}
/// 客户通知
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcNoticeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 消息正文
pub Content: TThostFtdcContentType,
/// 经纪公司通知内容序列号
pub SequenceLabel: TThostFtdcSequenceLabelType,
}
#[test]
fn bindgen_test_layout_CThostFtdcNoticeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcNoticeField>() , 514usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcNoticeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcNoticeField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcNoticeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNoticeField ) ) . BrokerID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcNoticeField )
, "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNoticeField ) ) . Content as *
const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcNoticeField )
, "::" , stringify ! ( Content ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNoticeField ) ) . SequenceLabel
as * const _ as usize } , 512usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcNoticeField )
, "::" , stringify ! ( SequenceLabel ) ));
}
impl Clone for CThostFtdcNoticeField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcNoticeField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcUserRightField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 客户权限类型
pub UserRightType: TThostFtdcUserRightTypeType,
/// 是否禁止
pub IsForbidden: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserRightField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserRightField>() , 32usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcUserRightField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcUserRightField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcUserRightField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightField ) ) . UserID as
* const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightField ) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightField ) ) .
UserRightType as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightField ) , "::" , stringify ! (
UserRightType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightField ) ) .
IsForbidden as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightField ) , "::" , stringify ! ( IsForbidden
) ));
}
impl Clone for CThostFtdcUserRightField {
fn clone(&self) -> Self { *self }
}
/// 查询结算信息确认域
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySettlementInfoConfirmField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySettlementInfoConfirmField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySettlementInfoConfirmField>()
, 41usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQrySettlementInfoConfirmField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySettlementInfoConfirmField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySettlementInfoConfirmField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
) . AccountID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
( AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
) . CurrencyID as * const _ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
( CurrencyID ) ));
}
impl Clone for CThostFtdcQrySettlementInfoConfirmField {
fn clone(&self) -> Self { *self }
}
/// 装载结算信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcLoadSettlementInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcLoadSettlementInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcLoadSettlementInfoField>() ,
11usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcLoadSettlementInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcLoadSettlementInfoField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcLoadSettlementInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoadSettlementInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoadSettlementInfoField ) , "::" , stringify ! (
BrokerID ) ));
}
impl Clone for CThostFtdcLoadSettlementInfoField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司可提资金算法表
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerWithdrawAlgorithmField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 可提资金算法
pub WithdrawAlgorithm: TThostFtdcAlgorithmType,
/// 资金使用率
pub UsingRatio: TThostFtdcRatioType,
/// 可提是否包含平仓盈利
pub IncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
/// 本日无仓且无成交客户是否受可提比例限制
pub AllWithoutTrade: TThostFtdcAllWithoutTradeType,
/// 可用是否包含平仓盈利
pub AvailIncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
/// 是否启用用户事件
pub IsBrokerUserEvent: TThostFtdcBoolType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 货币质押比率
pub FundMortgageRatio: TThostFtdcRatioType,
/// 权益算法
pub BalanceAlgorithm: TThostFtdcBalanceAlgorithmType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerWithdrawAlgorithmField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerWithdrawAlgorithmField>()
, 56usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerWithdrawAlgorithmField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . WithdrawAlgorithm as * const _ as usize } , 11usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( WithdrawAlgorithm ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . UsingRatio as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( UsingRatio ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . IncludeCloseProfit as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( IncludeCloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . AllWithoutTrade as * const _ as usize } , 25usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( AllWithoutTrade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . AvailIncludeCloseProfit as * const _ as usize } , 26usize
, concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( AvailIncludeCloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . IsBrokerUserEvent as * const _ as usize } , 28usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( IsBrokerUserEvent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . CurrencyID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . FundMortgageRatio as * const _ as usize } , 40usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( FundMortgageRatio ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
) . BalanceAlgorithm as * const _ as usize } , 48usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
( BalanceAlgorithm ) ));
}
impl Clone for CThostFtdcBrokerWithdrawAlgorithmField {
fn clone(&self) -> Self { *self }
}
/// 资金账户口令变更域
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTradingAccountPasswordUpdateV1Field {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 原来的口令
pub OldPassword: TThostFtdcPasswordType,
/// 新的口令
pub NewPassword: TThostFtdcPasswordType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingAccountPasswordUpdateV1Field() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountPasswordUpdateV1Field>()
, 106usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateV1Field ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountPasswordUpdateV1Field>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateV1Field ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
) ) . InvestorID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
) ) . OldPassword as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
stringify ! ( OldPassword ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
) ) . NewPassword as * const _ as usize } , 65usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
stringify ! ( NewPassword ) ));
}
impl Clone for CThostFtdcTradingAccountPasswordUpdateV1Field {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTradingAccountPasswordUpdateV1Field {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 资金账户口令变更域
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTradingAccountPasswordUpdateField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 原来的口令
pub OldPassword: TThostFtdcPasswordType,
/// 新的口令
pub NewPassword: TThostFtdcPasswordType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingAccountPasswordUpdateField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountPasswordUpdateField>()
, 110usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountPasswordUpdateField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
) . AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
) . OldPassword as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
stringify ! ( OldPassword ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
) . NewPassword as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
stringify ! ( NewPassword ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
) . CurrencyID as * const _ as usize } , 106usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
stringify ! ( CurrencyID ) ));
}
impl Clone for CThostFtdcTradingAccountPasswordUpdateField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTradingAccountPasswordUpdateField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询组合合约分腿
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCombinationLegField {
/// 组合合约代码
pub CombInstrumentID: TThostFtdcInstrumentIDType,
/// 单腿编号
pub LegID: TThostFtdcLegIDType,
/// 单腿合约代码
pub LegInstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCombinationLegField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCombinationLegField>() ,
68usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryCombinationLegField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCombinationLegField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryCombinationLegField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombinationLegField ) ) .
CombInstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombinationLegField ) , "::" , stringify ! (
CombInstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombinationLegField ) ) .
LegID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombinationLegField ) , "::" , stringify ! (
LegID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCombinationLegField ) ) .
LegInstrumentID as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCombinationLegField ) , "::" , stringify ! (
LegInstrumentID ) ));
}
impl Clone for CThostFtdcQryCombinationLegField {
fn clone(&self) -> Self { *self }
}
/// 查询组合合约分腿
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySyncStatusField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySyncStatusField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncStatusField>() , 9usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySyncStatusField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncStatusField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQrySyncStatusField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySyncStatusField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySyncStatusField ) , "::" , stringify ! (
TradingDay ) ));
}
impl Clone for CThostFtdcQrySyncStatusField {
fn clone(&self) -> Self { *self }
}
/// 组合交易合约的单腿
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCombinationLegField {
/// 组合合约代码
pub CombInstrumentID: TThostFtdcInstrumentIDType,
/// 单腿编号
pub LegID: TThostFtdcLegIDType,
/// 单腿合约代码
pub LegInstrumentID: TThostFtdcInstrumentIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 单腿乘数
pub LegMultiple: TThostFtdcLegMultipleType,
/// 派生层数
pub ImplyLevel: TThostFtdcImplyLevelType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCombinationLegField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCombinationLegField>() ,
76usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcCombinationLegField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCombinationLegField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcCombinationLegField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
CombInstrumentID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombinationLegField ) , "::" , stringify ! (
CombInstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombinationLegField ) ) . LegID
as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombinationLegField ) , "::" , stringify ! ( LegID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
LegInstrumentID as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombinationLegField ) , "::" , stringify ! (
LegInstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
Direction as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombinationLegField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
LegMultiple as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombinationLegField ) , "::" , stringify ! (
LegMultiple ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
ImplyLevel as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCombinationLegField ) , "::" , stringify ! (
ImplyLevel ) ));
}
impl Clone for CThostFtdcCombinationLegField {
fn clone(&self) -> Self { *self }
}
/// 数据同步状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSyncStatusField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 数据同步状态
pub DataSyncStatus: TThostFtdcDataSyncStatusType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSyncStatusField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSyncStatusField>() , 10usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcSyncStatusField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcSyncStatusField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcSyncStatusField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncStatusField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncStatusField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSyncStatusField ) ) .
DataSyncStatus as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSyncStatusField ) , "::" , stringify ! (
DataSyncStatus ) ));
}
impl Clone for CThostFtdcSyncStatusField {
fn clone(&self) -> Self { *self }
}
/// 查询联系人
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryLinkManField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryLinkManField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryLinkManField>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryLinkManField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryLinkManField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryLinkManField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryLinkManField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryLinkManField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryLinkManField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryLinkManField ) , "::" , stringify ! ( InvestorID
) ));
}
impl Clone for CThostFtdcQryLinkManField {
fn clone(&self) -> Self { *self }
}
/// 联系人
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcLinkManField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 联系人类型
pub PersonType: TThostFtdcPersonTypeType,
/// 证件类型
pub IdentifiedCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 名称
pub PersonName: TThostFtdcPartyNameType,
/// 联系电话
pub Telephone: TThostFtdcTelephoneType,
/// 通讯地址
pub Address: TThostFtdcAddressType,
/// 邮政编码
pub ZipCode: TThostFtdcZipCodeType,
/// 优先级
pub Priority: TThostFtdcPriorityType,
/// 开户邮政编码
pub UOAZipCode: TThostFtdcUOAZipCodeType,
/// 全称
pub PersonFullName: TThostFtdcInvestorFullNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcLinkManField() {
assert_eq!(::std::mem::size_of::<CThostFtdcLinkManField>() , 424usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcLinkManField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcLinkManField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcLinkManField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . PersonType
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( PersonType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) .
IdentifiedCardType as * const _ as usize } , 25usize , concat
! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( IdentifiedCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) .
IdentifiedCardNo as * const _ as usize } , 26usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . PersonName
as * const _ as usize } , 77usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( PersonName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . Telephone as
* const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . Address as *
const _ as usize } , 199usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( Address ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . ZipCode as *
const _ as usize } , 300usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( ZipCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . Priority as
* const _ as usize } , 308usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( Priority ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) . UOAZipCode
as * const _ as usize } , 312usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( UOAZipCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLinkManField ) ) .
PersonFullName as * const _ as usize } , 323usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcLinkManField
) , "::" , stringify ! ( PersonFullName ) ));
}
impl Clone for CThostFtdcLinkManField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcLinkManField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询经纪公司用户事件
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBrokerUserEventField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户事件类型
pub UserEventType: TThostFtdcUserEventTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBrokerUserEventField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerUserEventField>() ,
28usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryBrokerUserEventField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerUserEventField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryBrokerUserEventField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserEventField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserEventField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserEventField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserEventField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerUserEventField ) ) .
UserEventType as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerUserEventField ) , "::" , stringify ! (
UserEventType ) ));
}
impl Clone for CThostFtdcQryBrokerUserEventField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司用户事件
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBrokerUserEventField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户事件类型
pub UserEventType: TThostFtdcUserEventTypeType,
/// 用户事件序号
pub EventSequenceNo: TThostFtdcSequenceNoType,
/// 事件发生日期
pub EventDate: TThostFtdcDateType,
/// 事件发生时间
pub EventTime: TThostFtdcTimeType,
/// 用户事件信息
pub UserEventInfo: TThostFtdcUserEventInfoType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerUserEventField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserEventField>() ,
1120usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerUserEventField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserEventField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcBrokerUserEventField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
UserEventType as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
UserEventType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
EventSequenceNo as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
EventSequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
EventDate as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
EventDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
EventTime as * const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
EventTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
UserEventInfo as * const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
UserEventInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
InvestorID as * const _ as usize } , 1075usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
InstrumentID as * const _ as usize } , 1088usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
InstrumentID ) ));
}
impl Clone for CThostFtdcBrokerUserEventField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBrokerUserEventField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询签约银行请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryContractBankField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分中心代码
pub BankBrchID: TThostFtdcBankBrchIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryContractBankField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryContractBankField>() ,
20usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryContractBankField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryContractBankField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryContractBankField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryContractBankField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryContractBankField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryContractBankField ) ) .
BankID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryContractBankField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryContractBankField ) ) .
BankBrchID as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryContractBankField ) , "::" , stringify ! (
BankBrchID ) ));
}
impl Clone for CThostFtdcQryContractBankField {
fn clone(&self) -> Self { *self }
}
/// 查询签约银行响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcContractBankField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分中心代码
pub BankBrchID: TThostFtdcBankBrchIDType,
/// 银行名称
pub BankName: TThostFtdcBankNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcContractBankField() {
assert_eq!(::std::mem::size_of::<CThostFtdcContractBankField>() , 121usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcContractBankField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcContractBankField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcContractBankField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcContractBankField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcContractBankField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcContractBankField ) ) . BankID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcContractBankField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcContractBankField ) ) .
BankBrchID as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcContractBankField ) , "::" , stringify ! (
BankBrchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcContractBankField ) ) .
BankName as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcContractBankField ) , "::" , stringify ! ( BankName
) ));
}
impl Clone for CThostFtdcContractBankField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcContractBankField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 投资者组合持仓明细
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInvestorPositionCombineDetailField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 开仓日期
pub OpenDate: TThostFtdcDateType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 组合编号
pub ComTradeID: TThostFtdcTradeIDType,
/// 撮合编号
pub TradeID: TThostFtdcTradeIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 买卖
pub Direction: TThostFtdcDirectionType,
/// 持仓量
pub TotalAmt: TThostFtdcVolumeType,
/// 投资者保证金
pub Margin: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchMargin: TThostFtdcMoneyType,
/// 保证金率
pub MarginRateByMoney: TThostFtdcRatioType,
/// 保证金率(按手数)
pub MarginRateByVolume: TThostFtdcRatioType,
/// 单腿编号
pub LegID: TThostFtdcLegIDType,
/// 单腿乘数
pub LegMultiple: TThostFtdcLegMultipleType,
/// 组合持仓合约编码
pub CombInstrumentID: TThostFtdcInstrumentIDType,
/// 成交组号
pub TradeGroupID: TThostFtdcTradeGroupIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorPositionCombineDetailField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorPositionCombineDetailField>()
, 232usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorPositionCombineDetailField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . OpenDate as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( OpenDate ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . ExchangeID as * const _ as usize } , 18usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . SettlementID as * const _ as usize } , 28usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( SettlementID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . BrokerID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . InvestorID as * const _ as usize } , 43usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . ComTradeID as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( ComTradeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . TradeID as * const _ as usize } , 77usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( TradeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . InstrumentID as * const _ as usize } , 98usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . HedgeFlag as * const _ as usize } , 129usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( HedgeFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . Direction as * const _ as usize } , 130usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( Direction ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . TotalAmt as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( TotalAmt ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . Margin as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( Margin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . ExchMargin as * const _ as usize } , 144usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( ExchMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . MarginRateByMoney as * const _ as usize } , 152usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( MarginRateByMoney ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . MarginRateByVolume as * const _ as usize } , 160usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( MarginRateByVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . LegID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( LegID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . LegMultiple as * const _ as usize } , 172usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( LegMultiple ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . CombInstrumentID as * const _ as usize } , 176usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( CombInstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . TradeGroupID as * const _ as usize } , 208usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( TradeGroupID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
) ) . InvestUnitID as * const _ as usize } , 212usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcInvestorPositionCombineDetailField {
fn clone(&self) -> Self { *self }
}
/// 预埋单
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcParkedOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 报单价格条件
pub OrderPriceType: TThostFtdcOrderPriceTypeType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 组合开平标志
pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
/// 组合投机套保标志
pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量
pub VolumeTotalOriginal: TThostFtdcVolumeType,
/// 有效期类型
pub TimeCondition: TThostFtdcTimeConditionType,
/// GTD日期
pub GTDDate: TThostFtdcDateType,
/// 成交量类型
pub VolumeCondition: TThostFtdcVolumeConditionType,
/// 最小成交量
pub MinVolume: TThostFtdcVolumeType,
/// 触发条件
pub ContingentCondition: TThostFtdcContingentConditionType,
/// 止损价
pub StopPrice: TThostFtdcPriceType,
/// 强平原因
pub ForceCloseReason: TThostFtdcForceCloseReasonType,
/// 自动挂起标志
pub IsAutoSuspend: TThostFtdcBoolType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 用户强评标志
pub UserForceClose: TThostFtdcBoolType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 预埋报单编号
pub ParkedOrderID: TThostFtdcParkedOrderIDType,
/// 用户类型
pub UserType: TThostFtdcUserTypeType,
/// 预埋单状态
pub Status: TThostFtdcParkedOrderStatusType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 互换单标志
pub IsSwapOrder: TThostFtdcBoolType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcParkedOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcParkedOrderField>() , 376usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcParkedOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcParkedOrderField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcParkedOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( InvestorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . OrderRef
as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( OrderRef )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . UserID
as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
OrderPriceType as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
OrderPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
Direction as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( Direction
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
CombOffsetFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
CombOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
CombHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
LimitPrice as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( LimitPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
VolumeTotalOriginal as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
VolumeTotalOriginal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
TimeCondition as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
TimeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . GTDDate
as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( GTDDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
VolumeCondition as * const _ as usize } , 118usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
VolumeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
MinVolume as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( MinVolume
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
ContingentCondition as * const _ as usize } , 124usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
ContingentCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
StopPrice as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( StopPrice
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
ForceCloseReason as * const _ as usize } , 136usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
ForceCloseReason ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
IsAutoSuspend as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
IsAutoSuspend ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
BusinessUnit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
RequestID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
UserForceClose as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
UserForceClose ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
ExchangeID as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
ParkedOrderID as * const _ as usize } , 185usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
ParkedOrderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . UserType
as * const _ as usize } , 198usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( UserType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . Status
as * const _ as usize } , 199usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( Status )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . ErrorID
as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( ErrorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . ErrorMsg
as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( ErrorMsg )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
IsSwapOrder as * const _ as usize } , 288usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
IsSwapOrder ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
AccountID as * const _ as usize } , 292usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( AccountID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
CurrencyID as * const _ as usize } , 305usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( CurrencyID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . ClientID
as * const _ as usize } , 309usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( ClientID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
InvestUnitID as * const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
IPAddress as * const _ as usize } , 337usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( IPAddress
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
MacAddress as * const _ as usize } , 353usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderField ) , "::" , stringify ! ( MacAddress
) ));
}
impl Clone for CThostFtdcParkedOrderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcParkedOrderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 输入预埋单操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcParkedOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报单操作引用
pub OrderActionRef: TThostFtdcOrderActionRefType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量变化
pub VolumeChange: TThostFtdcVolumeType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 预埋撤单单编号
pub ParkedOrderActionID: TThostFtdcParkedOrderActionIDType,
/// 用户类型
pub UserType: TThostFtdcUserTypeType,
/// 预埋撤单状态
pub Status: TThostFtdcParkedOrderStatusType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcParkedOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcParkedOrderActionField>() ,
304usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcParkedOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcParkedOrderActionField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcParkedOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
OrderActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
OrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
OrderRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
OrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
LimitPrice as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
VolumeChange as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
VolumeChange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
UserID as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
InstrumentID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
ParkedOrderActionID as * const _ as usize } , 147usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
ParkedOrderActionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
UserType as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
UserType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
Status as * const _ as usize } , 161usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
Status ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
ErrorID as * const _ as usize } , 164usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
ErrorMsg as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
ErrorMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 249usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
IPAddress as * const _ as usize } , 266usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
MacAddress as * const _ as usize } , 282usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcParkedOrderActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcParkedOrderActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询预埋单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryParkedOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryParkedOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryParkedOrderField>() ,
81usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryParkedOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryParkedOrderField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryParkedOrderField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryParkedOrderField {
fn clone(&self) -> Self { *self }
}
/// 查询预埋撤单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryParkedOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryParkedOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryParkedOrderActionField>() ,
81usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryParkedOrderActionField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryParkedOrderActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryParkedOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryParkedOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 删除预埋单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcRemoveParkedOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 预埋报单编号
pub ParkedOrderID: TThostFtdcParkedOrderIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRemoveParkedOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRemoveParkedOrderField>() ,
54usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRemoveParkedOrderField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRemoveParkedOrderField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcRemoveParkedOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
ParkedOrderID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
ParkedOrderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
InvestUnitID as * const _ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcRemoveParkedOrderField {
fn clone(&self) -> Self { *self }
}
/// 删除预埋撤单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcRemoveParkedOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 预埋撤单编号
pub ParkedOrderActionID: TThostFtdcParkedOrderActionIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRemoveParkedOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRemoveParkedOrderActionField>()
, 54usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcRemoveParkedOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRemoveParkedOrderActionField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcRemoveParkedOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
) . ParkedOrderActionID as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
( ParkedOrderActionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
) . InvestUnitID as * const _ as usize } , 37usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
( InvestUnitID ) ));
}
impl Clone for CThostFtdcRemoveParkedOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司可提资金算法表
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInvestorWithdrawAlgorithmField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 可提资金比例
pub UsingRatio: TThostFtdcRatioType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 货币质押比率
pub FundMortgageRatio: TThostFtdcRatioType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorWithdrawAlgorithmField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorWithdrawAlgorithmField>()
, 56usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorWithdrawAlgorithmField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
. InvestorRange as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
! ( InvestorRange ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
. InvestorID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
. UsingRatio as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
! ( UsingRatio ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
. CurrencyID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
! ( CurrencyID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
. FundMortgageRatio as * const _ as usize } , 48usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
! ( FundMortgageRatio ) ));
}
impl Clone for CThostFtdcInvestorWithdrawAlgorithmField {
fn clone(&self) -> Self { *self }
}
/// 查询组合持仓明细
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestorPositionCombineDetailField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 组合持仓合约编码
pub CombInstrumentID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestorPositionCombineDetailField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorPositionCombineDetailField>()
, 81usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorPositionCombineDetailField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
) . CombInstrumentID as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( CombInstrumentID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
) . ExchangeID as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
) . InvestUnitID as * const _ as usize } , 64usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInvestorPositionCombineDetailField {
fn clone(&self) -> Self { *self }
}
/// 成交均价
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMarketDataAveragePriceField {
/// 当日均价
pub AveragePrice: TThostFtdcPriceType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarketDataAveragePriceField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataAveragePriceField>()
, 8usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcMarketDataAveragePriceField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataAveragePriceField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMarketDataAveragePriceField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarketDataAveragePriceField ) )
. AveragePrice as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarketDataAveragePriceField ) , "::" , stringify ! (
AveragePrice ) ));
}
impl Clone for CThostFtdcMarketDataAveragePriceField {
fn clone(&self) -> Self { *self }
}
/// 校验投资者密码
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcVerifyInvestorPasswordField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
}
#[test]
fn bindgen_test_layout_CThostFtdcVerifyInvestorPasswordField() {
assert_eq!(::std::mem::size_of::<CThostFtdcVerifyInvestorPasswordField>()
, 65usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcVerifyInvestorPasswordField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcVerifyInvestorPasswordField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcVerifyInvestorPasswordField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyInvestorPasswordField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyInvestorPasswordField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyInvestorPasswordField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyInvestorPasswordField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyInvestorPasswordField ) )
. Password as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyInvestorPasswordField ) , "::" , stringify ! (
Password ) ));
}
impl Clone for CThostFtdcVerifyInvestorPasswordField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcVerifyInvestorPasswordField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户IP
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcUserIPField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// IP地址掩码
pub IPMask: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserIPField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserIPField>() , 80usize ,
concat ! ( "Size of: " , stringify ! ( CThostFtdcUserIPField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcUserIPField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcUserIPField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserIPField ) ) . BrokerID as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
, "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserIPField ) ) . UserID as *
const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
, "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserIPField ) ) . IPAddress as
* const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
, "::" , stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserIPField ) ) . IPMask as *
const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
, "::" , stringify ! ( IPMask ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserIPField ) ) . MacAddress as
* const _ as usize } , 59usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
, "::" , stringify ! ( MacAddress ) ));
}
impl Clone for CThostFtdcUserIPField {
fn clone(&self) -> Self { *self }
}
/// 用户事件通知信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTradingNoticeInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 发送时间
pub SendTime: TThostFtdcTimeType,
/// 消息正文
pub FieldContent: TThostFtdcContentType,
/// 序列系列号
pub SequenceSeries: TThostFtdcSequenceSeriesType,
/// 序列号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingNoticeInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingNoticeInfoField>() ,
560usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTradingNoticeInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingNoticeInfoField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTradingNoticeInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
SendTime as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
SendTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
FieldContent as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
FieldContent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
SequenceSeries as * const _ as usize } , 534usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
SequenceSeries ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
SequenceNo as * const _ as usize } , 536usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
InvestUnitID as * const _ as usize } , 540usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcTradingNoticeInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTradingNoticeInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户事件通知
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTradingNoticeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcInvestorRangeType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 序列系列号
pub SequenceSeries: TThostFtdcSequenceSeriesType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 发送时间
pub SendTime: TThostFtdcTimeType,
/// 序列号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 消息正文
pub FieldContent: TThostFtdcContentType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingNoticeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingNoticeField>() ,
580usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTradingNoticeField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingNoticeField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcTradingNoticeField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
InvestorRange as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
InvestorID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
SequenceSeries as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! (
SequenceSeries ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) . UserID
as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
SendTime as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! ( SendTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
SequenceNo as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
FieldContent as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! (
FieldContent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
InvestUnitID as * const _ as usize } , 561usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingNoticeField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcTradingNoticeField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTradingNoticeField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询交易事件通知
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTradingNoticeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTradingNoticeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTradingNoticeField>() ,
41usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTradingNoticeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTradingNoticeField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryTradingNoticeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingNoticeField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingNoticeField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingNoticeField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingNoticeField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTradingNoticeField ) ) .
InvestUnitID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTradingNoticeField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryTradingNoticeField {
fn clone(&self) -> Self { *self }
}
/// 查询错误报单
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryErrOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryErrOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryErrOrderField>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryErrOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryErrOrderField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryErrOrderField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrOrderField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrOrderField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrOrderField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrOrderField ) , "::" , stringify ! ( InvestorID
) ));
}
impl Clone for CThostFtdcQryErrOrderField {
fn clone(&self) -> Self { *self }
}
/// 错误报单
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcErrOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 报单价格条件
pub OrderPriceType: TThostFtdcOrderPriceTypeType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 组合开平标志
pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
/// 组合投机套保标志
pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量
pub VolumeTotalOriginal: TThostFtdcVolumeType,
/// 有效期类型
pub TimeCondition: TThostFtdcTimeConditionType,
/// GTD日期
pub GTDDate: TThostFtdcDateType,
/// 成交量类型
pub VolumeCondition: TThostFtdcVolumeConditionType,
/// 最小成交量
pub MinVolume: TThostFtdcVolumeType,
/// 触发条件
pub ContingentCondition: TThostFtdcContingentConditionType,
/// 止损价
pub StopPrice: TThostFtdcPriceType,
/// 强平原因
pub ForceCloseReason: TThostFtdcForceCloseReasonType,
/// 自动挂起标志
pub IsAutoSuspend: TThostFtdcBoolType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 用户强评标志
pub UserForceClose: TThostFtdcBoolType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 互换单标志
pub IsSwapOrder: TThostFtdcBoolType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易编码
pub ClientID: TThostFtdcClientIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcErrOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcErrOrderField>() , 360usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcErrOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcErrOrderField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcErrOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . BrokerID as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . InvestorID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . OrderRef as
* const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . UserID as *
const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
OrderPriceType as * const _ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( OrderPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . Direction
as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
CombOffsetFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( CombOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( CombHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . LimitPrice
as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
VolumeTotalOriginal as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( VolumeTotalOriginal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
TimeCondition as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( TimeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . GTDDate as
* const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( GTDDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
VolumeCondition as * const _ as usize } , 118usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( VolumeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . MinVolume
as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( MinVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
ContingentCondition as * const _ as usize } , 124usize ,
concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( ContingentCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . StopPrice
as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( StopPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
ForceCloseReason as * const _ as usize } , 136usize , concat !
(
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( ForceCloseReason ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
IsAutoSuspend as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( IsAutoSuspend ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
BusinessUnit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . RequestID
as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
UserForceClose as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( UserForceClose ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ErrorID as
* const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ErrorMsg as
* const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( ErrorMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . IsSwapOrder
as * const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( IsSwapOrder ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ExchangeID
as * const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
InvestUnitID as * const _ as usize } , 277usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . AccountID
as * const _ as usize } , 294usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . CurrencyID
as * const _ as usize } , 307usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ClientID as
* const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . IPAddress
as * const _ as usize } , 322usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderField ) ) . MacAddress
as * const _ as usize } , 338usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
) , "::" , stringify ! ( MacAddress ) ));
}
impl Clone for CThostFtdcErrOrderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcErrOrderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询错误报单操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcErrorConditionalOrderField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 报单价格条件
pub OrderPriceType: TThostFtdcOrderPriceTypeType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 组合开平标志
pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
/// 组合投机套保标志
pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量
pub VolumeTotalOriginal: TThostFtdcVolumeType,
/// 有效期类型
pub TimeCondition: TThostFtdcTimeConditionType,
/// GTD日期
pub GTDDate: TThostFtdcDateType,
/// 成交量类型
pub VolumeCondition: TThostFtdcVolumeConditionType,
/// 最小成交量
pub MinVolume: TThostFtdcVolumeType,
/// 触发条件
pub ContingentCondition: TThostFtdcContingentConditionType,
/// 止损价
pub StopPrice: TThostFtdcPriceType,
/// 强平原因
pub ForceCloseReason: TThostFtdcForceCloseReasonType,
/// 自动挂起标志
pub IsAutoSuspend: TThostFtdcBoolType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 合约在交易所的代码
pub ExchangeInstID: TThostFtdcExchangeInstIDType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 报单提交状态
pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
/// 报单提示序号
pub NotifySequence: TThostFtdcSequenceNoType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 报单来源
pub OrderSource: TThostFtdcOrderSourceType,
/// 报单状态
pub OrderStatus: TThostFtdcOrderStatusType,
/// 报单类型
pub OrderType: TThostFtdcOrderTypeType,
/// 今成交数量
pub VolumeTraded: TThostFtdcVolumeType,
/// 剩余数量
pub VolumeTotal: TThostFtdcVolumeType,
/// 报单日期
pub InsertDate: TThostFtdcDateType,
/// 委托时间
pub InsertTime: TThostFtdcTimeType,
/// 激活时间
pub ActiveTime: TThostFtdcTimeType,
/// 挂起时间
pub SuspendTime: TThostFtdcTimeType,
/// 最后修改时间
pub UpdateTime: TThostFtdcTimeType,
/// 撤销时间
pub CancelTime: TThostFtdcTimeType,
/// 最后修改交易所交易员代码
pub ActiveTraderID: TThostFtdcTraderIDType,
/// 结算会员编号
pub ClearingPartID: TThostFtdcParticipantIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 用户强评标志
pub UserForceClose: TThostFtdcBoolType,
/// 操作用户代码
pub ActiveUserID: TThostFtdcUserIDType,
/// 经纪公司报单编号
pub BrokerOrderSeq: TThostFtdcSequenceNoType,
/// 相关报单
pub RelativeOrderSysID: TThostFtdcOrderSysIDType,
/// 郑商所成交数量
pub ZCETotalTradedVolume: TThostFtdcVolumeType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 互换单标志
pub IsSwapOrder: TThostFtdcBoolType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// 资金账号
pub AccountID: TThostFtdcAccountIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcErrorConditionalOrderField() {
assert_eq!(::std::mem::size_of::<CThostFtdcErrorConditionalOrderField>() ,
744usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcErrorConditionalOrderField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcErrorConditionalOrderField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. InstrumentID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderRef as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. UserID as * const _ as usize } , 68usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderPriceType as * const _ as usize } , 84usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. Direction as * const _ as usize } , 85usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. CombOffsetFlag as * const _ as usize } , 86usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
CombOffsetFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
CombHedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. LimitPrice as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. VolumeTotalOriginal as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
VolumeTotalOriginal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. TimeCondition as * const _ as usize } , 108usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
TimeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. GTDDate as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
GTDDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. VolumeCondition as * const _ as usize } , 118usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
VolumeCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. MinVolume as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
MinVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ContingentCondition as * const _ as usize } , 124usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ContingentCondition ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. StopPrice as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
StopPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ForceCloseReason as * const _ as usize } , 136usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ForceCloseReason ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. IsAutoSuspend as * const _ as usize } , 140usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
IsAutoSuspend ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. BusinessUnit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. RequestID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderLocalID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ExchangeID as * const _ as usize } , 185usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ParticipantID as * const _ as usize } , 194usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ClientID as * const _ as usize } , 205usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ExchangeInstID as * const _ as usize } , 216usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ExchangeInstID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. TraderID as * const _ as usize } , 247usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. InstallID as * const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderSubmitStatus as * const _ as usize } , 272usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderSubmitStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. NotifySequence as * const _ as usize } , 276usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
NotifySequence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. TradingDay as * const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. SettlementID as * const _ as usize } , 292usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
SettlementID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderSysID as * const _ as usize } , 296usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderSource as * const _ as usize } , 317usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderSource ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderStatus as * const _ as usize } , 318usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. OrderType as * const _ as usize } , 319usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
OrderType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. VolumeTraded as * const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
VolumeTraded ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. VolumeTotal as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
VolumeTotal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. InsertDate as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
InsertDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. InsertTime as * const _ as usize } , 337usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
InsertTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ActiveTime as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ActiveTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. SuspendTime as * const _ as usize } , 355usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
SuspendTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. UpdateTime as * const _ as usize } , 364usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
UpdateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. CancelTime as * const _ as usize } , 373usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
CancelTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ActiveTraderID as * const _ as usize } , 382usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ActiveTraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ClearingPartID as * const _ as usize } , 403usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ClearingPartID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. SequenceNo as * const _ as usize } , 416usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. FrontID as * const _ as usize } , 420usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
FrontID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. SessionID as * const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. UserProductInfo as * const _ as usize } , 428usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. StatusMsg as * const _ as usize } , 439usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. UserForceClose as * const _ as usize } , 520usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
UserForceClose ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ActiveUserID as * const _ as usize } , 524usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ActiveUserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. BrokerOrderSeq as * const _ as usize } , 540usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
BrokerOrderSeq ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. RelativeOrderSysID as * const _ as usize } , 544usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
RelativeOrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ZCETotalTradedVolume as * const _ as usize } , 568usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ZCETotalTradedVolume ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ErrorID as * const _ as usize } , 572usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. ErrorMsg as * const _ as usize } , 576usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
ErrorMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. IsSwapOrder as * const _ as usize } , 660usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
IsSwapOrder ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. BranchID as * const _ as usize } , 664usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. InvestUnitID as * const _ as usize } , 673usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. AccountID as * const _ as usize } , 690usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. CurrencyID as * const _ as usize } , 703usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. IPAddress as * const _ as usize } , 707usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
. MacAddress as * const _ as usize } , 723usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
MacAddress ) ));
}
impl Clone for CThostFtdcErrorConditionalOrderField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcErrorConditionalOrderField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询错误报单操作
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryErrOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryErrOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryErrOrderActionField>() ,
24usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryErrOrderActionField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryErrOrderActionField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryErrOrderActionField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryErrOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryErrOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
}
impl Clone for CThostFtdcQryErrOrderActionField {
fn clone(&self) -> Self { *self }
}
/// 错误报单操作
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcErrOrderActionField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 报单操作引用
pub OrderActionRef: TThostFtdcOrderActionRefType,
/// 报单引用
pub OrderRef: TThostFtdcOrderRefType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 前置编号
pub FrontID: TThostFtdcFrontIDType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 报单编号
pub OrderSysID: TThostFtdcOrderSysIDType,
/// 操作标志
pub ActionFlag: TThostFtdcActionFlagType,
/// 价格
pub LimitPrice: TThostFtdcPriceType,
/// 数量变化
pub VolumeChange: TThostFtdcVolumeType,
/// 操作日期
pub ActionDate: TThostFtdcDateType,
/// 操作时间
pub ActionTime: TThostFtdcTimeType,
/// 交易所交易员代码
pub TraderID: TThostFtdcTraderIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 本地报单编号
pub OrderLocalID: TThostFtdcOrderLocalIDType,
/// 操作本地编号
pub ActionLocalID: TThostFtdcOrderLocalIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 客户代码
pub ClientID: TThostFtdcClientIDType,
/// 业务单元
pub BusinessUnit: TThostFtdcBusinessUnitType,
/// 报单操作状态
pub OrderActionStatus: TThostFtdcOrderActionStatusType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 状态信息
pub StatusMsg: TThostFtdcErrorMsgType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 营业部编号
pub BranchID: TThostFtdcBranchIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcErrOrderActionField() {
assert_eq!(::std::mem::size_of::<CThostFtdcErrOrderActionField>() ,
496usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcErrOrderActionField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcErrOrderActionField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcErrOrderActionField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
OrderActionRef as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
OrderActionRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
OrderRef as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
OrderRef ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
RequestID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
FrontID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! ( FrontID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
SessionID as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ExchangeID as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
OrderSysID as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
OrderSysID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ActionFlag as * const _ as usize } , 86usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ActionFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
LimitPrice as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
LimitPrice ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
VolumeChange as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
VolumeChange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ActionDate as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ActionDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ActionTime as * const _ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ActionTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
TraderID as * const _ as usize } , 118usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
TraderID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
InstallID as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
OrderLocalID as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
OrderLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ActionLocalID as * const _ as usize } , 157usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ActionLocalID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ParticipantID as * const _ as usize } , 170usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ClientID as * const _ as usize } , 181usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ClientID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
BusinessUnit as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
BusinessUnit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
OrderActionStatus as * const _ as usize } , 213usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
OrderActionStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
UserID as * const _ as usize } , 214usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
StatusMsg as * const _ as usize } , 230usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
StatusMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
InstrumentID as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
BranchID as * const _ as usize } , 342usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
BranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
InvestUnitID as * const _ as usize } , 351usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
InvestUnitID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
IPAddress as * const _ as usize } , 368usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
IPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
MacAddress as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ErrorID as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! ( ErrorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
ErrorMsg as * const _ as usize } , 412usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcErrOrderActionField ) , "::" , stringify ! (
ErrorMsg ) ));
}
impl Clone for CThostFtdcErrOrderActionField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcErrOrderActionField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询交易所状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryExchangeSequenceField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryExchangeSequenceField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeSequenceField>() ,
9usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryExchangeSequenceField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeSequenceField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryExchangeSequenceField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryExchangeSequenceField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryExchangeSequenceField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryExchangeSequenceField {
fn clone(&self) -> Self { *self }
}
/// 交易所状态
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcExchangeSequenceField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 序号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 合约交易状态
pub MarketStatus: TThostFtdcInstrumentStatusType,
}
#[test]
fn bindgen_test_layout_CThostFtdcExchangeSequenceField() {
assert_eq!(::std::mem::size_of::<CThostFtdcExchangeSequenceField>() ,
20usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcExchangeSequenceField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcExchangeSequenceField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcExchangeSequenceField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeSequenceField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeSequenceField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeSequenceField ) ) .
SequenceNo as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeSequenceField ) , "::" , stringify ! (
SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcExchangeSequenceField ) ) .
MarketStatus as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcExchangeSequenceField ) , "::" , stringify ! (
MarketStatus ) ));
}
impl Clone for CThostFtdcExchangeSequenceField {
fn clone(&self) -> Self { *self }
}
/// 根据价格查询最大报单数量
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQueryMaxOrderVolumeWithPriceField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 开平标志
pub OffsetFlag: TThostFtdcOffsetFlagType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 最大允许报单数量
pub MaxVolume: TThostFtdcVolumeType,
/// 报单价格
pub Price: TThostFtdcPriceType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQueryMaxOrderVolumeWithPriceField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQueryMaxOrderVolumeWithPriceField>()
, 104usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQueryMaxOrderVolumeWithPriceField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . InstrumentID as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( InstrumentID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . Direction as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( Direction ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . OffsetFlag as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( OffsetFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . HedgeFlag as * const _ as usize } , 57usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( HedgeFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . MaxVolume as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( MaxVolume ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . Price as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( Price ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . ExchangeID as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
) . InvestUnitID as * const _ as usize } , 81usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQueryMaxOrderVolumeWithPriceField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司交易参数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBrokerTradingParamsField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBrokerTradingParamsField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerTradingParamsField>()
, 41usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryBrokerTradingParamsField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerTradingParamsField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryBrokerTradingParamsField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
. CurrencyID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
. AccountID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
AccountID ) ));
}
impl Clone for CThostFtdcQryBrokerTradingParamsField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司交易参数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerTradingParamsField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 保证金价格类型
pub MarginPriceType: TThostFtdcMarginPriceTypeType,
/// 盈亏算法
pub Algorithm: TThostFtdcAlgorithmType,
/// 可用是否包含平仓盈利
pub AvailIncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 期权权利金价格类型
pub OptionRoyaltyPriceType: TThostFtdcOptionRoyaltyPriceTypeType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerTradingParamsField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerTradingParamsField>() ,
45usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerTradingParamsField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerTradingParamsField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerTradingParamsField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
MarginPriceType as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
MarginPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
Algorithm as * const _ as usize } , 25usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
Algorithm ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
AvailIncludeCloseProfit as * const _ as usize } , 26usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
AvailIncludeCloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
CurrencyID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
OptionRoyaltyPriceType as * const _ as usize } , 31usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
OptionRoyaltyPriceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
AccountID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
AccountID ) ));
}
impl Clone for CThostFtdcBrokerTradingParamsField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司交易算法
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBrokerTradingAlgosField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBrokerTradingAlgosField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerTradingAlgosField>() ,
51usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryBrokerTradingAlgosField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerTradingAlgosField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryBrokerTradingAlgosField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingAlgosField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingAlgosField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingAlgosField ) )
. ExchangeID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingAlgosField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBrokerTradingAlgosField ) )
. InstrumentID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBrokerTradingAlgosField ) , "::" , stringify ! (
InstrumentID ) ));
}
impl Clone for CThostFtdcQryBrokerTradingAlgosField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司交易算法
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerTradingAlgosField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 持仓处理算法编号
pub HandlePositionAlgoID: TThostFtdcHandlePositionAlgoIDType,
/// 寻找保证金率算法编号
pub FindMarginRateAlgoID: TThostFtdcFindMarginRateAlgoIDType,
/// 资金处理算法编号
pub HandleTradingAccountAlgoID: TThostFtdcHandleTradingAccountAlgoIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerTradingAlgosField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerTradingAlgosField>() ,
54usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerTradingAlgosField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerTradingAlgosField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
ExchangeID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
InstrumentID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
HandlePositionAlgoID as * const _ as usize } , 51usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
HandlePositionAlgoID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
FindMarginRateAlgoID as * const _ as usize } , 52usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
FindMarginRateAlgoID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
HandleTradingAccountAlgoID as * const _ as usize } , 53usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
HandleTradingAccountAlgoID ) ));
}
impl Clone for CThostFtdcBrokerTradingAlgosField {
fn clone(&self) -> Self { *self }
}
/// 查询经纪公司资金
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQueryBrokerDepositField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQueryBrokerDepositField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQueryBrokerDepositField>() ,
20usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQueryBrokerDepositField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQueryBrokerDepositField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQueryBrokerDepositField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryBrokerDepositField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryBrokerDepositField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryBrokerDepositField ) ) .
ExchangeID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryBrokerDepositField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQueryBrokerDepositField {
fn clone(&self) -> Self { *self }
}
/// 经纪公司资金
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerDepositField {
/// 交易日期
pub TradingDay: TThostFtdcTradeDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 会员代码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 上次结算准备金
pub PreBalance: TThostFtdcMoneyType,
/// 当前保证金总额
pub CurrMargin: TThostFtdcMoneyType,
/// 平仓盈亏
pub CloseProfit: TThostFtdcMoneyType,
/// 期货结算准备金
pub Balance: TThostFtdcMoneyType,
/// 入金金额
pub Deposit: TThostFtdcMoneyType,
/// 出金金额
pub Withdraw: TThostFtdcMoneyType,
/// 可提资金
pub Available: TThostFtdcMoneyType,
/// 基本准备金
pub Reserve: TThostFtdcMoneyType,
/// 冻结的保证金
pub FrozenMargin: TThostFtdcMoneyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerDepositField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerDepositField>() ,
112usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerDepositField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerDepositField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcBrokerDepositField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
ParticipantID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
PreBalance as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
PreBalance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
CurrMargin as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
CurrMargin ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
CloseProfit as * const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
CloseProfit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
Balance as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Balance
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
Deposit as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Deposit
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
Withdraw as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Withdraw
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
Available as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
Available ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
Reserve as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Reserve
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
FrozenMargin as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerDepositField ) , "::" , stringify ! (
FrozenMargin ) ));
}
impl Clone for CThostFtdcBrokerDepositField {
fn clone(&self) -> Self { *self }
}
/// 查询保证金监管系统经纪公司密钥
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCFMMCBrokerKeyField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCFMMCBrokerKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCFMMCBrokerKeyField>() ,
11usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryCFMMCBrokerKeyField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCFMMCBrokerKeyField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryCFMMCBrokerKeyField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCFMMCBrokerKeyField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCFMMCBrokerKeyField ) , "::" , stringify ! (
BrokerID ) ));
}
impl Clone for CThostFtdcQryCFMMCBrokerKeyField {
fn clone(&self) -> Self { *self }
}
/// 保证金监管系统经纪公司密钥
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCFMMCBrokerKeyField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 经纪公司统一编码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 密钥生成日期
pub CreateDate: TThostFtdcDateType,
/// 密钥生成时间
pub CreateTime: TThostFtdcTimeType,
/// 密钥编号
pub KeyID: TThostFtdcSequenceNoType,
/// 动态密钥
pub CurrentKey: TThostFtdcCFMMCKeyType,
/// 动态密钥类型
pub KeyKind: TThostFtdcCFMMCKeyKindType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCFMMCBrokerKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCFMMCBrokerKeyField>() ,
68usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcCFMMCBrokerKeyField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCFMMCBrokerKeyField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcCFMMCBrokerKeyField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
ParticipantID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
CreateDate as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
CreateDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
CreateTime as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
CreateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) . KeyID
as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! ( KeyID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
CurrentKey as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
CurrentKey ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
KeyKind as * const _ as usize } , 65usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! ( KeyKind
) ));
}
impl Clone for CThostFtdcCFMMCBrokerKeyField {
fn clone(&self) -> Self { *self }
}
/// 保证金监管系统经纪公司资金账户密钥
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCFMMCTradingAccountKeyField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 经纪公司统一编码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 密钥编号
pub KeyID: TThostFtdcSequenceNoType,
/// 动态密钥
pub CurrentKey: TThostFtdcCFMMCKeyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCFMMCTradingAccountKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCFMMCTradingAccountKeyField>()
, 64usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCFMMCTradingAccountKeyField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
. ParticipantID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
. AccountID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
. KeyID as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
KeyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
. CurrentKey as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
CurrentKey ) ));
}
impl Clone for CThostFtdcCFMMCTradingAccountKeyField {
fn clone(&self) -> Self { *self }
}
/// 请求查询保证金监管系统经纪公司资金账户密钥
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCFMMCTradingAccountKeyField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCFMMCTradingAccountKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCFMMCTradingAccountKeyField>()
, 24usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryCFMMCTradingAccountKeyField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCFMMCTradingAccountKeyField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryCFMMCTradingAccountKeyField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryCFMMCTradingAccountKeyField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCFMMCTradingAccountKeyField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryCFMMCTradingAccountKeyField ) )
. InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCFMMCTradingAccountKeyField ) , "::" , stringify
! ( InvestorID ) ));
}
impl Clone for CThostFtdcQryCFMMCTradingAccountKeyField {
fn clone(&self) -> Self { *self }
}
/// 用户动态令牌参数
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBrokerUserOTPParamField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 动态令牌提供商
pub OTPVendorsID: TThostFtdcOTPVendorsIDType,
/// 动态令牌序列号
pub SerialNumber: TThostFtdcSerialNumberType,
/// 令牌密钥
pub AuthKey: TThostFtdcAuthKeyType,
/// 漂移值
pub LastDrift: TThostFtdcLastDriftType,
/// 成功值
pub LastSuccess: TThostFtdcLastSuccessType,
/// 动态令牌类型
pub OTPType: TThostFtdcOTPTypeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerUserOTPParamField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserOTPParamField>() ,
100usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcBrokerUserOTPParamField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserOTPParamField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
OTPVendorsID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
OTPVendorsID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
SerialNumber as * const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
SerialNumber ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
AuthKey as * const _ as usize } , 46usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
AuthKey ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
LastDrift as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
LastDrift ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
LastSuccess as * const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
LastSuccess ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
OTPType as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
OTPType ) ));
}
impl Clone for CThostFtdcBrokerUserOTPParamField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBrokerUserOTPParamField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 手工同步用户动态令牌
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcManualSyncBrokerUserOTPField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 动态令牌类型
pub OTPType: TThostFtdcOTPTypeType,
/// 第一个动态密码
pub FirstOTP: TThostFtdcPasswordType,
/// 第二个动态密码
pub SecondOTP: TThostFtdcPasswordType,
}
#[test]
fn bindgen_test_layout_CThostFtdcManualSyncBrokerUserOTPField() {
assert_eq!(::std::mem::size_of::<CThostFtdcManualSyncBrokerUserOTPField>()
, 110usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcManualSyncBrokerUserOTPField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
) . UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
) . OTPType as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
( OTPType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
) . FirstOTP as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
( FirstOTP ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
) . SecondOTP as * const _ as usize } , 69usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
( SecondOTP ) ));
}
impl Clone for CThostFtdcManualSyncBrokerUserOTPField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcManualSyncBrokerUserOTPField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 投资者手续费率模板
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcCommRateModelField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 手续费率模板代码
pub CommModelID: TThostFtdcInvestorIDType,
/// 模板名称
pub CommModelName: TThostFtdcCommModelNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCommRateModelField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCommRateModelField>() ,
185usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcCommRateModelField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCommRateModelField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcCommRateModelField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCommRateModelField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCommRateModelField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCommRateModelField ) ) .
CommModelID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCommRateModelField ) , "::" , stringify ! (
CommModelID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCommRateModelField ) ) .
CommModelName as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCommRateModelField ) , "::" , stringify ! (
CommModelName ) ));
}
impl Clone for CThostFtdcCommRateModelField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcCommRateModelField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 请求查询投资者手续费率模板
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCommRateModelField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 手续费率模板代码
pub CommModelID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCommRateModelField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCommRateModelField>() ,
24usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryCommRateModelField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCommRateModelField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryCommRateModelField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCommRateModelField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCommRateModelField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCommRateModelField ) ) .
CommModelID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCommRateModelField ) , "::" , stringify ! (
CommModelID ) ));
}
impl Clone for CThostFtdcQryCommRateModelField {
fn clone(&self) -> Self { *self }
}
/// 投资者保证金率模板
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcMarginModelField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 保证金率模板代码
pub MarginModelID: TThostFtdcInvestorIDType,
/// 模板名称
pub MarginModelName: TThostFtdcCommModelNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMarginModelField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMarginModelField>() , 185usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcMarginModelField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcMarginModelField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcMarginModelField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarginModelField ) ) . BrokerID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarginModelField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarginModelField ) ) .
MarginModelID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarginModelField ) , "::" , stringify ! (
MarginModelID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMarginModelField ) ) .
MarginModelName as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMarginModelField ) , "::" , stringify ! (
MarginModelName ) ));
}
impl Clone for CThostFtdcMarginModelField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcMarginModelField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 请求查询投资者保证金率模板
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryMarginModelField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 保证金率模板代码
pub MarginModelID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryMarginModelField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryMarginModelField>() ,
24usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryMarginModelField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryMarginModelField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryMarginModelField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMarginModelField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMarginModelField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryMarginModelField ) ) .
MarginModelID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryMarginModelField ) , "::" , stringify ! (
MarginModelID ) ));
}
impl Clone for CThostFtdcQryMarginModelField {
fn clone(&self) -> Self { *self }
}
/// 仓单折抵信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcEWarrantOffsetField {
/// 交易日期
pub TradingDay: TThostFtdcTradeDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 买卖方向
pub Direction: TThostFtdcDirectionType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 数量
pub Volume: TThostFtdcVolumeType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcEWarrantOffsetField() {
assert_eq!(::std::mem::size_of::<CThostFtdcEWarrantOffsetField>() ,
100usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcEWarrantOffsetField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcEWarrantOffsetField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcEWarrantOffsetField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
InvestorID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
ExchangeID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
InstrumentID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
Direction as * const _ as usize } , 73usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
Direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
HedgeFlag as * const _ as usize } , 74usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
HedgeFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
Volume as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! ( Volume
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
InvestUnitID as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcEWarrantOffsetField {
fn clone(&self) -> Self { *self }
}
/// 查询仓单折抵信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryEWarrantOffsetField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 合约代码
pub InstrumentID: TThostFtdcInstrumentIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryEWarrantOffsetField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryEWarrantOffsetField>() ,
81usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryEWarrantOffsetField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryEWarrantOffsetField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryEWarrantOffsetField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
ExchangeID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
InstrumentID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
InstrumentID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
InvestUnitID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
InvestUnitID ) ));
}
impl Clone for CThostFtdcQryEWarrantOffsetField {
fn clone(&self) -> Self { *self }
}
/// 查询投资者品种/跨品种保证金
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryInvestorProductGroupMarginField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 品种/跨品种标示
pub ProductGroupID: TThostFtdcInstrumentIDType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryInvestorProductGroupMarginField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorProductGroupMarginField>()
, 82usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorProductGroupMarginField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
) ) . InvestorID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
) ) . ProductGroupID as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
stringify ! ( ProductGroupID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
) ) . HedgeFlag as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
stringify ! ( HedgeFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
) ) . ExchangeID as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
) ) . InvestUnitID as * const _ as usize } , 65usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQryInvestorProductGroupMarginField {
fn clone(&self) -> Self { *self }
}
/// 投资者品种/跨品种保证金
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcInvestorProductGroupMarginField {
/// 品种/跨品种标示
pub ProductGroupID: TThostFtdcInstrumentIDType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 结算编号
pub SettlementID: TThostFtdcSettlementIDType,
/// 冻结的保证金
pub FrozenMargin: TThostFtdcMoneyType,
/// 多头冻结的保证金
pub LongFrozenMargin: TThostFtdcMoneyType,
/// 空头冻结的保证金
pub ShortFrozenMargin: TThostFtdcMoneyType,
/// 占用的保证金
pub UseMargin: TThostFtdcMoneyType,
/// 多头保证金
pub LongUseMargin: TThostFtdcMoneyType,
/// 空头保证金
pub ShortUseMargin: TThostFtdcMoneyType,
/// 交易所保证金
pub ExchMargin: TThostFtdcMoneyType,
/// 交易所多头保证金
pub LongExchMargin: TThostFtdcMoneyType,
/// 交易所空头保证金
pub ShortExchMargin: TThostFtdcMoneyType,
/// 平仓盈亏
pub CloseProfit: TThostFtdcMoneyType,
/// 冻结的手续费
pub FrozenCommission: TThostFtdcMoneyType,
/// 手续费
pub Commission: TThostFtdcMoneyType,
/// 冻结的资金
pub FrozenCash: TThostFtdcMoneyType,
/// 资金差额
pub CashIn: TThostFtdcMoneyType,
/// 持仓盈亏
pub PositionProfit: TThostFtdcMoneyType,
/// 折抵总金额
pub OffsetAmount: TThostFtdcMoneyType,
/// 多头折抵总金额
pub LongOffsetAmount: TThostFtdcMoneyType,
/// 空头折抵总金额
pub ShortOffsetAmount: TThostFtdcMoneyType,
/// 交易所折抵总金额
pub ExchOffsetAmount: TThostFtdcMoneyType,
/// 交易所多头折抵总金额
pub LongExchOffsetAmount: TThostFtdcMoneyType,
/// 交易所空头折抵总金额
pub ShortExchOffsetAmount: TThostFtdcMoneyType,
/// 投机套保标志
pub HedgeFlag: TThostFtdcHedgeFlagType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcInvestorProductGroupMarginField() {
assert_eq!(::std::mem::size_of::<CThostFtdcInvestorProductGroupMarginField>()
, 272usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcInvestorProductGroupMarginField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ProductGroupID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ProductGroupID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. BrokerID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. InvestorID as * const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. TradingDay as * const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( TradingDay ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. SettlementID as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( SettlementID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. FrozenMargin as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( FrozenMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. LongFrozenMargin as * const _ as usize } , 80usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( LongFrozenMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ShortFrozenMargin as * const _ as usize } , 88usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ShortFrozenMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. UseMargin as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( UseMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. LongUseMargin as * const _ as usize } , 104usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( LongUseMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ShortUseMargin as * const _ as usize } , 112usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ShortUseMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ExchMargin as * const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ExchMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. LongExchMargin as * const _ as usize } , 128usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( LongExchMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ShortExchMargin as * const _ as usize } , 136usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ShortExchMargin ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. CloseProfit as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( CloseProfit ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. FrozenCommission as * const _ as usize } , 152usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( FrozenCommission ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. Commission as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( Commission ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. FrozenCash as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( FrozenCash ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. CashIn as * const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( CashIn ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. PositionProfit as * const _ as usize } , 184usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( PositionProfit ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. OffsetAmount as * const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( OffsetAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. LongOffsetAmount as * const _ as usize } , 200usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( LongOffsetAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ShortOffsetAmount as * const _ as usize } , 208usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ShortOffsetAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ExchOffsetAmount as * const _ as usize } , 216usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ExchOffsetAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. LongExchOffsetAmount as * const _ as usize } , 224usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( LongExchOffsetAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ShortExchOffsetAmount as * const _ as usize } , 232usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ShortExchOffsetAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. HedgeFlag as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( HedgeFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. ExchangeID as * const _ as usize } , 241usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( ExchangeID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
. InvestUnitID as * const _ as usize } , 250usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcInvestorProductGroupMarginField {
fn clone(&self) -> Self { *self }
}
/// 查询监控中心用户令牌
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQueryCFMMCTradingAccountTokenField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 投资单元代码
pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQueryCFMMCTradingAccountTokenField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQueryCFMMCTradingAccountTokenField>()
, 41usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQueryCFMMCTradingAccountTokenField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQueryCFMMCTradingAccountTokenField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQueryCFMMCTradingAccountTokenField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryCFMMCTradingAccountTokenField
) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryCFMMCTradingAccountTokenField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryCFMMCTradingAccountTokenField
) ) . InvestorID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQueryCFMMCTradingAccountTokenField ) , "::" ,
stringify ! ( InvestorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcQueryCFMMCTradingAccountTokenField
) ) . InvestUnitID as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryCFMMCTradingAccountTokenField ) , "::" ,
stringify ! ( InvestUnitID ) ));
}
impl Clone for CThostFtdcQueryCFMMCTradingAccountTokenField {
fn clone(&self) -> Self { *self }
}
/// 监控中心用户令牌
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCFMMCTradingAccountTokenField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 经纪公司统一编码
pub ParticipantID: TThostFtdcParticipantIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 密钥编号
pub KeyID: TThostFtdcSequenceNoType,
/// 动态令牌
pub Token: TThostFtdcCFMMCTokenType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCFMMCTradingAccountTokenField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCFMMCTradingAccountTokenField>()
, 64usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCFMMCTradingAccountTokenField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
) . BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
) . ParticipantID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
( ParticipantID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
) . AccountID as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
( AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
) . KeyID as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
( KeyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
) . Token as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
( Token ) ));
}
impl Clone for CThostFtdcCFMMCTradingAccountTokenField {
fn clone(&self) -> Self { *self }
}
/// 查询产品组
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryProductGroupField {
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryProductGroupField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryProductGroupField>() ,
40usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryProductGroupField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryProductGroupField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryProductGroupField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductGroupField ) ) .
ProductID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductGroupField ) , "::" , stringify ! (
ProductID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryProductGroupField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryProductGroupField ) , "::" , stringify ! (
ExchangeID ) ));
}
impl Clone for CThostFtdcQryProductGroupField {
fn clone(&self) -> Self { *self }
}
/// 投资者品种/跨品种保证金产品组
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcProductGroupField {
/// 产品代码
pub ProductID: TThostFtdcInstrumentIDType,
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 产品组代码
pub ProductGroupID: TThostFtdcInstrumentIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcProductGroupField() {
assert_eq!(::std::mem::size_of::<CThostFtdcProductGroupField>() , 71usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcProductGroupField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcProductGroupField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcProductGroupField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductGroupField ) ) .
ProductID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductGroupField ) , "::" , stringify ! ( ProductID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductGroupField ) ) .
ExchangeID as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductGroupField ) , "::" , stringify ! (
ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcProductGroupField ) ) .
ProductGroupID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcProductGroupField ) , "::" , stringify ! (
ProductGroupID ) ));
}
impl Clone for CThostFtdcProductGroupField {
fn clone(&self) -> Self { *self }
}
/// 交易所公告
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcBulletinField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 公告编号
pub BulletinID: TThostFtdcBulletinIDType,
/// 序列号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 公告类型
pub NewsType: TThostFtdcNewsTypeType,
/// 紧急程度
pub NewsUrgency: TThostFtdcNewsUrgencyType,
/// 发送时间
pub SendTime: TThostFtdcTimeType,
/// 消息摘要
pub Abstract: TThostFtdcAbstractType,
/// 消息来源
pub ComeFrom: TThostFtdcComeFromType,
/// 消息正文
pub Content: TThostFtdcContentType,
/// WEB地址
pub URLLink: TThostFtdcURLLinkType,
/// 市场代码
pub MarketID: TThostFtdcMarketIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBulletinField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBulletinField>() , 876usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcBulletinField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBulletinField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcBulletinField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . ExchangeID
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( ExchangeID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . TradingDay
as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . BulletinID
as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( BulletinID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . SequenceNo
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( SequenceNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . NewsType as
* const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( NewsType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . NewsUrgency
as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( NewsUrgency ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . SendTime as
* const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( SendTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . Abstract as
* const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( Abstract ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . ComeFrom as
* const _ as usize } , 122usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( ComeFrom ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . Content as
* const _ as usize } , 143usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( Content ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . URLLink as
* const _ as usize } , 644usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( URLLink ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBulletinField ) ) . MarketID as
* const _ as usize } , 845usize , concat ! (
"Alignment of field: " , stringify ! ( CThostFtdcBulletinField
) , "::" , stringify ! ( MarketID ) ));
}
impl Clone for CThostFtdcBulletinField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcBulletinField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询交易所公告
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryBulletinField {
/// 交易所代码
pub ExchangeID: TThostFtdcExchangeIDType,
/// 公告编号
pub BulletinID: TThostFtdcBulletinIDType,
/// 序列号
pub SequenceNo: TThostFtdcSequenceNoType,
/// 公告类型
pub NewsType: TThostFtdcNewsTypeType,
/// 紧急程度
pub NewsUrgency: TThostFtdcNewsUrgencyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryBulletinField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryBulletinField>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryBulletinField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryBulletinField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryBulletinField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
ExchangeID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBulletinField ) , "::" , stringify ! ( ExchangeID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
BulletinID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBulletinField ) , "::" , stringify ! ( BulletinID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
SequenceNo as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBulletinField ) , "::" , stringify ! ( SequenceNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBulletinField ) ) . NewsType
as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBulletinField ) , "::" , stringify ! ( NewsType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
NewsUrgency as * const _ as usize } , 23usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryBulletinField ) , "::" , stringify ! (
NewsUrgency ) ));
}
impl Clone for CThostFtdcQryBulletinField {
fn clone(&self) -> Self { *self }
}
/// 转帐开户请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqOpenAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 汇钞标志
pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqOpenAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqOpenAccountField>() ,
956usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqOpenAccountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqOpenAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqOpenAccountField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
Gender as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Gender
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
CountryCode as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
CustType as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
Address as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Address
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
ZipCode as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( ZipCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
Telephone as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
MobilePhone as * const _ as usize } , 387usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) . Fax
as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Fax )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) . EMail
as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( EMail )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 490usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankAccount as * const _ as usize } , 491usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankPassWord as * const _ as usize } , 532usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
AccountID as * const _ as usize } , 573usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
Password as * const _ as usize } , 586usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
InstallID as * const _ as usize } , 628usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
CurrencyID as * const _ as usize } , 633usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
CashExchangeCode as * const _ as usize } , 637usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
CashExchangeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
Digest as * const _ as usize } , 638usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Digest
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankAccType as * const _ as usize } , 674usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
DeviceID as * const _ as usize } , 675usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankSecuAccType as * const _ as usize } , 678usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankSecuAcc as * const _ as usize } , 712usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
BankPwdFlag as * const _ as usize } , 753usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
OperNo as * const _ as usize } , 755usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( OperNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) . TID
as * const _ as usize } , 772usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
UserID as * const _ as usize } , 776usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
LongCustomerName as * const _ as usize } , 792usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcReqOpenAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqOpenAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 转帐销户请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqCancelAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 汇钞标志
pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqCancelAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqCancelAccountField>() ,
956usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqCancelAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqCancelAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqCancelAccountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
Gender as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
Gender ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
CountryCode as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
CustType as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
Address as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
Address ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
ZipCode as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
ZipCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
Telephone as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
MobilePhone as * const _ as usize } , 387usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) . Fax
as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! ( Fax )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
EMail as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! ( EMail
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 490usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankAccount as * const _ as usize } , 491usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankPassWord as * const _ as usize } , 532usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
AccountID as * const _ as usize } , 573usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
Password as * const _ as usize } , 586usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
InstallID as * const _ as usize } , 628usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
CurrencyID as * const _ as usize } , 633usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
CashExchangeCode as * const _ as usize } , 637usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
CashExchangeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
Digest as * const _ as usize } , 638usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankAccType as * const _ as usize } , 674usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
DeviceID as * const _ as usize } , 675usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankSecuAccType as * const _ as usize } , 678usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankSecuAcc as * const _ as usize } , 712usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
BankPwdFlag as * const _ as usize } , 753usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
OperNo as * const _ as usize } , 755usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) . TID
as * const _ as usize } , 772usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
UserID as * const _ as usize } , 776usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
LongCustomerName as * const _ as usize } , 792usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcReqCancelAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqCancelAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 变更银行账户请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqChangeAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 新银行帐号
pub NewBankAccount: TThostFtdcBankAccountType,
/// 新银行密码
pub NewBankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqChangeAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqChangeAccountField>() ,
960usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqChangeAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqChangeAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqChangeAccountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
Gender as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
Gender ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
CountryCode as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
CustType as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
Address as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
Address ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
ZipCode as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
ZipCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
Telephone as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
MobilePhone as * const _ as usize } , 387usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) . Fax
as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! ( Fax )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
EMail as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! ( EMail
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 490usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankAccount as * const _ as usize } , 491usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankPassWord as * const _ as usize } , 532usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
NewBankAccount as * const _ as usize } , 573usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
NewBankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
NewBankPassWord as * const _ as usize } , 614usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
NewBankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
AccountID as * const _ as usize } , 655usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
Password as * const _ as usize } , 668usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankAccType as * const _ as usize } , 709usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
InstallID as * const _ as usize } , 712usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 716usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
CurrencyID as * const _ as usize } , 717usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 721usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
BankPwdFlag as * const _ as usize } , 754usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 755usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) . TID
as * const _ as usize } , 756usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
Digest as * const _ as usize } , 760usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
LongCustomerName as * const _ as usize } , 796usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcReqChangeAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqChangeAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 转账请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqTransferField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 转帐金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 期货可取金额
pub FutureFetchAmount: TThostFtdcTradeAmountType,
/// 费用支付标志
pub FeePayFlag: TThostFtdcFeePayFlagType,
/// 应收客户费用
pub CustFee: TThostFtdcCustFeeType,
/// 应收期货公司费用
pub BrokerFee: TThostFtdcFutureFeeType,
/// 发送方给接收方的消息
pub Message: TThostFtdcAddInfoType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 转账交易状态
pub TransferStatus: TThostFtdcTransferStatusType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqTransferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqTransferField>() , 864usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcReqTransferField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqTransferField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqTransferField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( TradeCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . BrokerID
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( TradeDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( TradeTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( BankSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( IdCardType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . CustType
as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( CustType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankAccount as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankPassWord as * const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
AccountID as * const _ as usize } , 298usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( AccountID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . Password
as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
InstallID as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
FutureSerial as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . UserID
as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
CurrencyID as * const _ as usize } , 377usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( CurrencyID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
TradeAmount as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
TradeAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
FutureFetchAmount as * const _ as usize } , 392usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
FutureFetchAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
FeePayFlag as * const _ as usize } , 400usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( FeePayFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . CustFee
as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( CustFee )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BrokerFee as * const _ as usize } , 416usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( BrokerFee
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . Message
as * const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( Message )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . Digest
as * const _ as usize } , 553usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( Digest )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankAccType as * const _ as usize } , 589usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . DeviceID
as * const _ as usize } , 590usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankSecuAccType as * const _ as usize } , 593usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BrokerIDByBank as * const _ as usize } , 594usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankSecuAcc as * const _ as usize } , 627usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
BankPwdFlag as * const _ as usize } , 668usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
SecuPwdFlag as * const _ as usize } , 669usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . OperNo
as * const _ as usize } , 670usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
RequestID as * const _ as usize } , 688usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) . TID as *
const _ as usize } , 692usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! ( TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
TransferStatus as * const _ as usize } , 696usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
TransferStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
LongCustomerName as * const _ as usize } , 697usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqTransferField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcReqTransferField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqTransferField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银行发起银行资金转期货响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspTransferField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 转帐金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 期货可取金额
pub FutureFetchAmount: TThostFtdcTradeAmountType,
/// 费用支付标志
pub FeePayFlag: TThostFtdcFeePayFlagType,
/// 应收客户费用
pub CustFee: TThostFtdcCustFeeType,
/// 应收期货公司费用
pub BrokerFee: TThostFtdcFutureFeeType,
/// 发送方给接收方的消息
pub Message: TThostFtdcAddInfoType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 转账交易状态
pub TransferStatus: TThostFtdcTransferStatusType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspTransferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspTransferField>() , 952usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcRspTransferField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspTransferField>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspTransferField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( TradeCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . BrokerID
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( TradeDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( TradeTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( BankSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( IdCardType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . CustType
as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( CustType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankAccount as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankPassWord as * const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
AccountID as * const _ as usize } , 298usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( AccountID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . Password
as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
InstallID as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
FutureSerial as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . UserID
as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
CurrencyID as * const _ as usize } , 377usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( CurrencyID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
TradeAmount as * const _ as usize } , 384usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
TradeAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
FutureFetchAmount as * const _ as usize } , 392usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
FutureFetchAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
FeePayFlag as * const _ as usize } , 400usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( FeePayFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . CustFee
as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( CustFee )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BrokerFee as * const _ as usize } , 416usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( BrokerFee
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . Message
as * const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( Message )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . Digest
as * const _ as usize } , 553usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( Digest )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankAccType as * const _ as usize } , 589usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . DeviceID
as * const _ as usize } , 590usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankSecuAccType as * const _ as usize } , 593usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BrokerIDByBank as * const _ as usize } , 594usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankSecuAcc as * const _ as usize } , 627usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
BankPwdFlag as * const _ as usize } , 668usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
SecuPwdFlag as * const _ as usize } , 669usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . OperNo
as * const _ as usize } , 670usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
RequestID as * const _ as usize } , 688usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . TID as *
const _ as usize } , 692usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
TransferStatus as * const _ as usize } , 696usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
TransferStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . ErrorID
as * const _ as usize } , 700usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( ErrorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) . ErrorMsg
as * const _ as usize } , 704usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! ( ErrorMsg )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
LongCustomerName as * const _ as usize } , 785usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspTransferField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcRspTransferField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspTransferField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 冲正请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqRepealField {
/// 冲正时间间隔
pub RepealTimeInterval: TThostFtdcRepealTimeIntervalType,
/// 已经冲正次数
pub RepealedTimes: TThostFtdcRepealedTimesType,
/// 银行冲正标志
pub BankRepealFlag: TThostFtdcBankRepealFlagType,
/// 期商冲正标志
pub BrokerRepealFlag: TThostFtdcBrokerRepealFlagType,
/// 被冲正平台流水号
pub PlateRepealSerial: TThostFtdcPlateSerialType,
/// 被冲正银行流水号
pub BankRepealSerial: TThostFtdcBankSerialType,
/// 被冲正期货流水号
pub FutureRepealSerial: TThostFtdcFutureSerialType,
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 转帐金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 期货可取金额
pub FutureFetchAmount: TThostFtdcTradeAmountType,
/// 费用支付标志
pub FeePayFlag: TThostFtdcFeePayFlagType,
/// 应收客户费用
pub CustFee: TThostFtdcCustFeeType,
/// 应收期货公司费用
pub BrokerFee: TThostFtdcFutureFeeType,
/// 发送方给接收方的消息
pub Message: TThostFtdcAddInfoType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 转账交易状态
pub TransferStatus: TThostFtdcTransferStatusType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqRepealField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqRepealField>() , 904usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcReqRepealField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqRepealField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqRepealField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
RepealTimeInterval as * const _ as usize } , 0usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
RepealTimeInterval ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
RepealedTimes as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
RepealedTimes ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankRepealFlag as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
BankRepealFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BrokerRepealFlag as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
BrokerRepealFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
PlateRepealSerial as * const _ as usize } , 12usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
PlateRepealSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankRepealSerial as * const _ as usize } , 16usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
BankRepealSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
FutureRepealSerial as * const _ as usize } , 32usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
FutureRepealSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradeCode
as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeCode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BankID as
* const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankBranchID as * const _ as usize } , 47usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankBranchID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BrokerID
as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BrokerBranchID as * const _ as usize } , 63usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradeDate
as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradeTime
as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BankSerial
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankSerial )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradingDay
as * const _ as usize } , 125usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( TradingDay )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
PlateSerial as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( PlateSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
LastFragment as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( LastFragment
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . SessionID
as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
CustomerName as * const _ as usize } , 148usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( CustomerName
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . IdCardType
as * const _ as usize } , 199usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( IdCardType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
IdentifiedCardNo as * const _ as usize } , 200usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . CustType
as * const _ as usize } , 251usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( CustType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankAccount as * const _ as usize } , 252usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankAccount
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankPassWord as * const _ as usize } , 293usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankPassWord
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . AccountID
as * const _ as usize } , 334usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( AccountID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . Password
as * const _ as usize } , 347usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . InstallID
as * const _ as usize } , 388usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( InstallID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
FutureSerial as * const _ as usize } , 392usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( FutureSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . UserID as
* const _ as usize } , 396usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
VerifyCertNoFlag as * const _ as usize } , 412usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . CurrencyID
as * const _ as usize } , 413usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( CurrencyID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
TradeAmount as * const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeAmount
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
FutureFetchAmount as * const _ as usize } , 432usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
FutureFetchAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . FeePayFlag
as * const _ as usize } , 440usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( FeePayFlag )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . CustFee as
* const _ as usize } , 448usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( CustFee )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BrokerFee
as * const _ as usize } , 456usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BrokerFee )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . Message as
* const _ as usize } , 464usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( Message )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . Digest as
* const _ as usize } , 593usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankAccType as * const _ as usize } , 629usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankAccType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . DeviceID
as * const _ as usize } , 630usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankSecuAccType as * const _ as usize } , 633usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BrokerIDByBank as * const _ as usize } , 634usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankSecuAcc as * const _ as usize } , 667usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankSecuAcc
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
BankPwdFlag as * const _ as usize } , 708usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( BankPwdFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
SecuPwdFlag as * const _ as usize } , 709usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( SecuPwdFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . OperNo as
* const _ as usize } , 710usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . RequestID
as * const _ as usize } , 728usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TID as *
const _ as usize } , 732usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! ( TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
TransferStatus as * const _ as usize } , 736usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
TransferStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
LongCustomerName as * const _ as usize } , 737usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqRepealField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcReqRepealField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqRepealField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 冲正响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspRepealField {
/// 冲正时间间隔
pub RepealTimeInterval: TThostFtdcRepealTimeIntervalType,
/// 已经冲正次数
pub RepealedTimes: TThostFtdcRepealedTimesType,
/// 银行冲正标志
pub BankRepealFlag: TThostFtdcBankRepealFlagType,
/// 期商冲正标志
pub BrokerRepealFlag: TThostFtdcBrokerRepealFlagType,
/// 被冲正平台流水号
pub PlateRepealSerial: TThostFtdcPlateSerialType,
/// 被冲正银行流水号
pub BankRepealSerial: TThostFtdcBankSerialType,
/// 被冲正期货流水号
pub FutureRepealSerial: TThostFtdcFutureSerialType,
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 转帐金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 期货可取金额
pub FutureFetchAmount: TThostFtdcTradeAmountType,
/// 费用支付标志
pub FeePayFlag: TThostFtdcFeePayFlagType,
/// 应收客户费用
pub CustFee: TThostFtdcCustFeeType,
/// 应收期货公司费用
pub BrokerFee: TThostFtdcFutureFeeType,
/// 发送方给接收方的消息
pub Message: TThostFtdcAddInfoType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 转账交易状态
pub TransferStatus: TThostFtdcTransferStatusType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspRepealField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspRepealField>() , 992usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcRspRepealField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspRepealField>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspRepealField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
RepealTimeInterval as * const _ as usize } , 0usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
RepealTimeInterval ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
RepealedTimes as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
RepealedTimes ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankRepealFlag as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
BankRepealFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BrokerRepealFlag as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
BrokerRepealFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
PlateRepealSerial as * const _ as usize } , 12usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
PlateRepealSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankRepealSerial as * const _ as usize } , 16usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
BankRepealSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
FutureRepealSerial as * const _ as usize } , 32usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
FutureRepealSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradeCode
as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeCode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BankID as
* const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankBranchID as * const _ as usize } , 47usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankBranchID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BrokerID
as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BrokerBranchID as * const _ as usize } , 63usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradeDate
as * const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradeTime
as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BankSerial
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankSerial )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradingDay
as * const _ as usize } , 125usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( TradingDay )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
PlateSerial as * const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( PlateSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
LastFragment as * const _ as usize } , 140usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( LastFragment
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . SessionID
as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
CustomerName as * const _ as usize } , 148usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( CustomerName
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . IdCardType
as * const _ as usize } , 199usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( IdCardType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
IdentifiedCardNo as * const _ as usize } , 200usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . CustType
as * const _ as usize } , 251usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( CustType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankAccount as * const _ as usize } , 252usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankAccount
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankPassWord as * const _ as usize } , 293usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankPassWord
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . AccountID
as * const _ as usize } , 334usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( AccountID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . Password
as * const _ as usize } , 347usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . InstallID
as * const _ as usize } , 388usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( InstallID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
FutureSerial as * const _ as usize } , 392usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( FutureSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . UserID as
* const _ as usize } , 396usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
VerifyCertNoFlag as * const _ as usize } , 412usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . CurrencyID
as * const _ as usize } , 413usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( CurrencyID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
TradeAmount as * const _ as usize } , 424usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeAmount
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
FutureFetchAmount as * const _ as usize } , 432usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
FutureFetchAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . FeePayFlag
as * const _ as usize } , 440usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( FeePayFlag )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . CustFee as
* const _ as usize } , 448usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( CustFee )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BrokerFee
as * const _ as usize } , 456usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BrokerFee )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . Message as
* const _ as usize } , 464usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( Message )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . Digest as
* const _ as usize } , 593usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankAccType as * const _ as usize } , 629usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankAccType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . DeviceID
as * const _ as usize } , 630usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankSecuAccType as * const _ as usize } , 633usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BrokerIDByBank as * const _ as usize } , 634usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankSecuAcc as * const _ as usize } , 667usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankSecuAcc
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
BankPwdFlag as * const _ as usize } , 708usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( BankPwdFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
SecuPwdFlag as * const _ as usize } , 709usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( SecuPwdFlag
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . OperNo as
* const _ as usize } , 710usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . RequestID
as * const _ as usize } , 728usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TID as *
const _ as usize } , 732usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
TransferStatus as * const _ as usize } , 736usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
TransferStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . ErrorID as
* const _ as usize } , 740usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( ErrorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) . ErrorMsg
as * const _ as usize } , 744usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! ( ErrorMsg )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
LongCustomerName as * const _ as usize } , 825usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspRepealField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcRspRepealField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspRepealField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询账户信息请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqQueryAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqQueryAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqQueryAccountField>() ,
688usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqQueryAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqQueryAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqQueryAccountField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
CustType as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankAccount as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankPassWord as * const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
AccountID as * const _ as usize } , 298usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
Password as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
FutureSerial as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
InstallID as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
UserID as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
CurrencyID as * const _ as usize } , 377usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
Digest as * const _ as usize } , 381usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( Digest
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankAccType as * const _ as usize } , 417usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
DeviceID as * const _ as usize } , 418usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankSecuAccType as * const _ as usize } , 421usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 422usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankSecuAcc as * const _ as usize } , 455usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
BankPwdFlag as * const _ as usize } , 496usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 497usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
OperNo as * const _ as usize } , 498usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( OperNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
RequestID as * const _ as usize } , 516usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) . TID
as * const _ as usize } , 520usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
LongCustomerName as * const _ as usize } , 524usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcReqQueryAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqQueryAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询账户信息响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspQueryAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 银行可用金额
pub BankUseAmount: TThostFtdcTradeAmountType,
/// 银行可取金额
pub BankFetchAmount: TThostFtdcTradeAmountType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspQueryAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspQueryAccountField>() ,
712usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspQueryAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspQueryAccountField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspQueryAccountField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
CustType as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankAccount as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankPassWord as * const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
AccountID as * const _ as usize } , 298usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
Password as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
FutureSerial as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
InstallID as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
UserID as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
CurrencyID as * const _ as usize } , 377usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
Digest as * const _ as usize } , 381usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( Digest
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankAccType as * const _ as usize } , 417usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
DeviceID as * const _ as usize } , 418usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankSecuAccType as * const _ as usize } , 421usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 422usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankSecuAcc as * const _ as usize } , 455usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankPwdFlag as * const _ as usize } , 496usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 497usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
OperNo as * const _ as usize } , 498usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( OperNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
RequestID as * const _ as usize } , 516usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) . TID
as * const _ as usize } , 520usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankUseAmount as * const _ as usize } , 528usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankUseAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
BankFetchAmount as * const _ as usize } , 536usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
BankFetchAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
LongCustomerName as * const _ as usize } , 544usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcRspQueryAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspQueryAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期商签到签退
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcFutureSignIOField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcFutureSignIOField() {
assert_eq!(::std::mem::size_of::<CThostFtdcFutureSignIOField>() , 236usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcFutureSignIOField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcFutureSignIOField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcFutureSignIOField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TradeCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TradeDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TradeTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . UserID
as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . Digest
as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( Digest )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
CurrencyID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
DeviceID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( DeviceID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . OperNo
as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
RequestID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( RequestID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . TID as
* const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TID ) ));
}
impl Clone for CThostFtdcFutureSignIOField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcFutureSignIOField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期商签到响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspFutureSignInField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// PIN密钥
pub PinKey: TThostFtdcPasswordKeyType,
/// MAC密钥
pub MacKey: TThostFtdcPasswordKeyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspFutureSignInField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspFutureSignInField>() ,
580usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspFutureSignInField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspFutureSignInField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspFutureSignInField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
UserID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
Digest as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( Digest
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
CurrencyID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
DeviceID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
OperNo as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( OperNo
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
RequestID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) . TID
as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
ErrorID as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
ErrorMsg as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
ErrorMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
PinKey as * const _ as usize } , 321usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( PinKey
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
MacKey as * const _ as usize } , 450usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( MacKey
) ));
}
impl Clone for CThostFtdcRspFutureSignInField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspFutureSignInField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期商签退请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqFutureSignOutField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqFutureSignOutField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqFutureSignOutField>() ,
236usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqFutureSignOutField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqFutureSignOutField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqFutureSignOutField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
UserID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
Digest as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
CurrencyID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
DeviceID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
OperNo as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
RequestID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) . TID
as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqFutureSignOutField ) , "::" , stringify ! ( TID )
));
}
impl Clone for CThostFtdcReqFutureSignOutField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqFutureSignOutField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期商签退响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspFutureSignOutField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspFutureSignOutField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspFutureSignOutField>() ,
324usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspFutureSignOutField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspFutureSignOutField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcRspFutureSignOutField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
UserID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
Digest as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
CurrencyID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
DeviceID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
OperNo as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
RequestID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) . TID
as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
ErrorID as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
ErrorMsg as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
ErrorMsg ) ));
}
impl Clone for CThostFtdcRspFutureSignOutField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspFutureSignOutField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询指定流水号的交易结果请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqQueryTradeResultBySerialField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 流水号
pub Reference: TThostFtdcSerialType,
/// 本流水号发布者的机构类型
pub RefrenceIssureType: TThostFtdcInstitutionTypeType,
/// 本流水号发布者机构编码
pub RefrenceIssure: TThostFtdcOrganCodeType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 转帐金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqQueryTradeResultBySerialField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqQueryTradeResultBySerialField>()
, 608usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqQueryTradeResultBySerialField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BankBranchID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankBranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BrokerBranchID as * const _ as usize } , 27usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BrokerBranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeDate ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeTime ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankSerial ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . PlateSerial as * const _ as usize } , 100usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( PlateSerial ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . LastFragment as * const _ as usize } , 104usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( LastFragment ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( SessionID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . Reference as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( Reference ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . RefrenceIssureType as * const _ as usize } , 116usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( RefrenceIssureType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . RefrenceIssure as * const _ as usize } , 117usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( RefrenceIssure ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . CustomerName as * const _ as usize } , 153usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( CustomerName ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . IdCardType as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( IdCardType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . IdentifiedCardNo as * const _ as usize } , 205usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( IdentifiedCardNo ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . CustType as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( CustType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BankAccount as * const _ as usize } , 257usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankAccount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . BankPassWord as * const _ as usize } , 298usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankPassWord ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . AccountID as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . Password as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( Password ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . CurrencyID as * const _ as usize } , 393usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( CurrencyID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . TradeAmount as * const _ as usize } , 400usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . Digest as * const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( Digest ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
) . LongCustomerName as * const _ as usize } , 444usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
stringify ! ( LongCustomerName ) ));
}
impl Clone for CThostFtdcReqQueryTradeResultBySerialField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqQueryTradeResultBySerialField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询指定流水号的交易结果响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspQueryTradeResultBySerialField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 流水号
pub Reference: TThostFtdcSerialType,
/// 本流水号发布者的机构类型
pub RefrenceIssureType: TThostFtdcInstitutionTypeType,
/// 本流水号发布者机构编码
pub RefrenceIssure: TThostFtdcOrganCodeType,
/// 原始返回代码
pub OriginReturnCode: TThostFtdcReturnCodeType,
/// 原始返回码描述
pub OriginDescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 转帐金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 摘要
pub Digest: TThostFtdcDigestType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspQueryTradeResultBySerialField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspQueryTradeResultBySerialField>()
, 568usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspQueryTradeResultBySerialField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BankBranchID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankBranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BrokerBranchID as * const _ as usize } , 27usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BrokerBranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeDate ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeTime ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankSerial ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradingDay ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . PlateSerial as * const _ as usize } , 100usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( PlateSerial ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . LastFragment as * const _ as usize } , 104usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( LastFragment ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( SessionID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . ErrorID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( ErrorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . ErrorMsg as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( ErrorMsg ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . Reference as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( Reference ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . RefrenceIssureType as * const _ as usize } , 204usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( RefrenceIssureType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . RefrenceIssure as * const _ as usize } , 205usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( RefrenceIssure ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . OriginReturnCode as * const _ as usize } , 241usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( OriginReturnCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . OriginDescrInfoForReturnCode as * const _ as usize } ,
248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( OriginDescrInfoForReturnCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BankAccount as * const _ as usize } , 377usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankAccount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . BankPassWord as * const _ as usize } , 418usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( BankPassWord ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . AccountID as * const _ as usize } , 459usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . Password as * const _ as usize } , 472usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( Password ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . CurrencyID as * const _ as usize } , 513usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( CurrencyID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . TradeAmount as * const _ as usize } , 520usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( TradeAmount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
) . Digest as * const _ as usize } , 528usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
stringify ! ( Digest ) ));
}
impl Clone for CThostFtdcRspQueryTradeResultBySerialField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspQueryTradeResultBySerialField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 日终文件就绪请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqDayEndFileReadyField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 文件业务功能
pub FileBusinessCode: TThostFtdcFileBusinessCodeType,
/// 摘要
pub Digest: TThostFtdcDigestType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqDayEndFileReadyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqDayEndFileReadyField>() ,
152usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqDayEndFileReadyField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqDayEndFileReadyField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
FileBusinessCode as * const _ as usize } , 112usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
FileBusinessCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
Digest as * const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
Digest ) ));
}
impl Clone for CThostFtdcReqDayEndFileReadyField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqDayEndFileReadyField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 返回结果
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReturnResultField {
/// 返回代码
pub ReturnCode: TThostFtdcReturnCodeType,
/// 返回码描述
pub DescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReturnResultField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReturnResultField>() , 136usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcReturnResultField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReturnResultField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcReturnResultField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReturnResultField ) ) .
ReturnCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReturnResultField ) , "::" , stringify ! (
ReturnCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReturnResultField ) ) .
DescrInfoForReturnCode as * const _ as usize } , 7usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReturnResultField ) , "::" , stringify ! (
DescrInfoForReturnCode ) ));
}
impl Clone for CThostFtdcReturnResultField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReturnResultField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 验证期货资金密码
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcVerifyFuturePasswordField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcVerifyFuturePasswordField() {
assert_eq!(::std::mem::size_of::<CThostFtdcVerifyFuturePasswordField>() ,
260usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcVerifyFuturePasswordField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcVerifyFuturePasswordField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
AccountID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
Password as * const _ as usize } , 125usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BankAccount as * const _ as usize } , 166usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
BankPassWord as * const _ as usize } , 207usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
InstallID as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
TID as * const _ as usize } , 252usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
CurrencyID as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcVerifyFuturePasswordField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcVerifyFuturePasswordField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 验证客户信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcVerifyCustInfoField {
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcVerifyCustInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcVerifyCustInfoField>() ,
265usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcVerifyCustInfoField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcVerifyCustInfoField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcVerifyCustInfoField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
CustomerName as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
IdCardType as * const _ as usize } , 51usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
IdentifiedCardNo as * const _ as usize } , 52usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
CustType as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
LongCustomerName as * const _ as usize } , 104usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcVerifyCustInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcVerifyCustInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 验证期货资金密码和客户信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcVerifyFuturePasswordAndCustInfoField {
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcVerifyFuturePasswordAndCustInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcVerifyFuturePasswordAndCustInfoField>()
, 323usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcVerifyFuturePasswordAndCustInfoField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . CustomerName as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( CustomerName ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . IdCardType as * const _ as usize } , 51usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( IdCardType ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . IdentifiedCardNo as * const _ as usize } , 52usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( IdentifiedCardNo ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . CustType as * const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( CustType ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . AccountID as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( AccountID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . Password as * const _ as usize } , 117usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( Password ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . CurrencyID as * const _ as usize } , 158usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( CurrencyID ) ));
assert_eq! (unsafe {
& (
* (
0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
) . LongCustomerName as * const _ as usize } , 162usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
stringify ! ( LongCustomerName ) ));
}
impl Clone for CThostFtdcVerifyFuturePasswordAndCustInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcVerifyFuturePasswordAndCustInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 验证期货资金密码和客户信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcDepositResultInformField {
/// 出入金流水号,该流水号为银期报盘返回的流水号
pub DepositSeqNo: TThostFtdcDepositSeqNoType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 入金金额
pub Deposit: TThostFtdcMoneyType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 返回代码
pub ReturnCode: TThostFtdcReturnCodeType,
/// 返回码描述
pub DescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcDepositResultInformField() {
assert_eq!(::std::mem::size_of::<CThostFtdcDepositResultInformField>() ,
192usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcDepositResultInformField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcDepositResultInformField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcDepositResultInformField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
DepositSeqNo as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
DepositSeqNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
BrokerID as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
InvestorID as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
Deposit as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
Deposit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
RequestID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
ReturnCode as * const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
ReturnCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
DescrInfoForReturnCode as * const _ as usize } , 59usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepositResultInformField ) , "::" , stringify ! (
DescrInfoForReturnCode ) ));
}
impl Clone for CThostFtdcDepositResultInformField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcDepositResultInformField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易核心向银期报盘发出密钥同步请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqSyncKeyField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 交易核心给银期报盘的消息
pub Message: TThostFtdcAddInfoType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqSyncKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqSyncKeyField>() , 324usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcReqSyncKeyField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqSyncKeyField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqSyncKeyField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TradeCode
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradeCode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . BankID as
* const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . BrokerID
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TradeDate
as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradeDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TradeTime
as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradeTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( BankSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( PlateSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . SessionID
as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . InstallID
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( InstallID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . UserID as
* const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . Message
as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( Message )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . DeviceID
as * const _ as usize } , 261usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
BrokerIDByBank as * const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . OperNo as
* const _ as usize } , 297usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . RequestID
as * const _ as usize } , 316usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TID as *
const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TID ) ));
}
impl Clone for CThostFtdcReqSyncKeyField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqSyncKeyField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易核心向银期报盘发出密钥同步响应
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspSyncKeyField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 交易核心给银期报盘的消息
pub Message: TThostFtdcAddInfoType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspSyncKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspSyncKeyField>() , 412usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcRspSyncKeyField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspSyncKeyField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspSyncKeyField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TradeCode
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradeCode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . BankID as
* const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . BrokerID
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TradeDate
as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradeDate )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TradeTime
as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradeTime )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( BankSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( PlateSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . SessionID
as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( SessionID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . InstallID
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( InstallID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . UserID as
* const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . Message
as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( Message )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . DeviceID
as * const _ as usize } , 261usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
BrokerIDByBank as * const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . OperNo as
* const _ as usize } , 297usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . RequestID
as * const _ as usize } , 316usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( RequestID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TID as *
const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . ErrorID
as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( ErrorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . ErrorMsg
as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( ErrorMsg )
));
}
impl Clone for CThostFtdcRspSyncKeyField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspSyncKeyField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询账户信息通知
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcNotifyQueryAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 银行可用金额
pub BankUseAmount: TThostFtdcTradeAmountType,
/// 银行可取金额
pub BankFetchAmount: TThostFtdcTradeAmountType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcNotifyQueryAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcNotifyQueryAccountField>() ,
792usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcNotifyQueryAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcNotifyQueryAccountField>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcNotifyQueryAccountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
CustType as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankAccount as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankPassWord as * const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
AccountID as * const _ as usize } , 298usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
Password as * const _ as usize } , 311usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
FutureSerial as * const _ as usize } , 352usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
InstallID as * const _ as usize } , 356usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
UserID as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
CurrencyID as * const _ as usize } , 377usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
Digest as * const _ as usize } , 381usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankAccType as * const _ as usize } , 417usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
DeviceID as * const _ as usize } , 418usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankSecuAccType as * const _ as usize } , 421usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 422usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankSecuAcc as * const _ as usize } , 455usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankPwdFlag as * const _ as usize } , 496usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 497usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
OperNo as * const _ as usize } , 498usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
RequestID as * const _ as usize } , 516usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
TID as * const _ as usize } , 520usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! ( TID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankUseAmount as * const _ as usize } , 528usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankUseAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
BankFetchAmount as * const _ as usize } , 536usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
BankFetchAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
ErrorID as * const _ as usize } , 544usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
ErrorMsg as * const _ as usize } , 548usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
ErrorMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
LongCustomerName as * const _ as usize } , 629usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcNotifyQueryAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcNotifyQueryAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银期转账交易流水表
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcTransferSerialField {
/// 平台流水号
pub PlateSerial: TThostFtdcPlateSerialType,
/// 交易发起方日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易日期
pub TradingDay: TThostFtdcDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 交易代码
pub TradeCode: TThostFtdcTradeCodeType,
/// 会话编号
pub SessionID: TThostFtdcSessionIDType,
/// 银行编码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构编码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 期货公司编码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 期货公司帐号类型
pub FutureAccType: TThostFtdcFutureAccTypeType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
/// 期货公司流水号
pub FutureSerial: TThostFtdcFutureSerialType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 交易金额
pub TradeAmount: TThostFtdcTradeAmountType,
/// 应收客户费用
pub CustFee: TThostFtdcCustFeeType,
/// 应收期货公司费用
pub BrokerFee: TThostFtdcFutureFeeType,
/// 有效标志
pub AvailabilityFlag: TThostFtdcAvailabilityFlagType,
/// 操作员
pub OperatorCode: TThostFtdcOperatorCodeType,
/// 新银行帐号
pub BankNewAccount: TThostFtdcBankAccountType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTransferSerialField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTransferSerialField>() ,
416usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcTransferSerialField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTransferSerialField>() ,
8usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcTransferSerialField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
PlateSerial as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
TradeDate as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
TradingDay as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
TradeTime as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
TradeCode as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
SessionID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BankID as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BankBranchID as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BankAccType as * const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BankAccount as * const _ as usize } , 54usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BankSerial as * const _ as usize } , 95usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BrokerID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BrokerBranchID as * const _ as usize } , 119usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
FutureAccType as * const _ as usize } , 150usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
FutureAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
AccountID as * const _ as usize } , 151usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
InvestorID as * const _ as usize } , 164usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
InvestorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
FutureSerial as * const _ as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
FutureSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
IdCardType as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
IdentifiedCardNo as * const _ as usize } , 185usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
CurrencyID as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
TradeAmount as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
TradeAmount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
CustFee as * const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! ( CustFee
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BrokerFee as * const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BrokerFee ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
AvailabilityFlag as * const _ as usize } , 264usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
AvailabilityFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
OperatorCode as * const _ as usize } , 265usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
OperatorCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
BankNewAccount as * const _ as usize } , 282usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
BankNewAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
ErrorID as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! ( ErrorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
ErrorMsg as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTransferSerialField ) , "::" , stringify ! (
ErrorMsg ) ));
}
impl Clone for CThostFtdcTransferSerialField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcTransferSerialField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 请求查询转帐流水
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryTransferSerialField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 银行编码
pub BankID: TThostFtdcBankIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryTransferSerialField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryTransferSerialField>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryTransferSerialField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryTransferSerialField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryTransferSerialField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
BankID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
CurrencyID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcQryTransferSerialField {
fn clone(&self) -> Self { *self }
}
/// 期商签到通知
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcNotifyFutureSignInField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// PIN密钥
pub PinKey: TThostFtdcPasswordKeyType,
/// MAC密钥
pub MacKey: TThostFtdcPasswordKeyType,
}
#[test]
fn bindgen_test_layout_CThostFtdcNotifyFutureSignInField() {
assert_eq!(::std::mem::size_of::<CThostFtdcNotifyFutureSignInField>() ,
580usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcNotifyFutureSignInField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcNotifyFutureSignInField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcNotifyFutureSignInField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
UserID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
Digest as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
CurrencyID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
DeviceID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
OperNo as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
RequestID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
TID as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! ( TID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
ErrorID as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
ErrorMsg as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
ErrorMsg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
PinKey as * const _ as usize } , 321usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
PinKey ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
MacKey as * const _ as usize } , 450usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
MacKey ) ));
}
impl Clone for CThostFtdcNotifyFutureSignInField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcNotifyFutureSignInField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 期商签退通知
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcNotifyFutureSignOutField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcNotifyFutureSignOutField() {
assert_eq!(::std::mem::size_of::<CThostFtdcNotifyFutureSignOutField>() ,
324usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcNotifyFutureSignOutField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcNotifyFutureSignOutField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
UserID as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
Digest as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
CurrencyID as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
DeviceID as * const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
DeviceID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
OperNo as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
OperNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
RequestID as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
TID as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
ErrorID as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
ErrorMsg as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
ErrorMsg ) ));
}
impl Clone for CThostFtdcNotifyFutureSignOutField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcNotifyFutureSignOutField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 交易核心向银期报盘发出密钥同步处理结果的通知
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcNotifySyncKeyField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 交易核心给银期报盘的消息
pub Message: TThostFtdcAddInfoType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 请求编号
pub RequestID: TThostFtdcRequestIDType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcNotifySyncKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcNotifySyncKeyField>() ,
412usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcNotifySyncKeyField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcNotifySyncKeyField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcNotifySyncKeyField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
InstallID as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . UserID
as * const _ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
Message as * const _ as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( Message
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
DeviceID as * const _ as usize } , 261usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( DeviceID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
BrokerIDByBank as * const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . OperNo
as * const _ as usize } , 297usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
RequestID as * const _ as usize } , 316usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
RequestID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . TID as
* const _ as usize } , 320usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
ErrorID as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( ErrorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
ErrorMsg as * const _ as usize } , 328usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( ErrorMsg
) ));
}
impl Clone for CThostFtdcNotifySyncKeyField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcNotifySyncKeyField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 请求查询银期签约关系
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryAccountregisterField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 银行编码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构编码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryAccountregisterField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryAccountregisterField>() ,
37usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryAccountregisterField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryAccountregisterField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryAccountregisterField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
BankID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
BankBranchID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
CurrencyID as * const _ as usize } , 33usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcQryAccountregisterField {
fn clone(&self) -> Self { *self }
}
/// 客户开销户信息表
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcAccountregisterField {
/// 交易日期
pub TradeDay: TThostFtdcTradeDateType,
/// 银行编码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构编码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 期货公司编码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期货公司分支机构编码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 开销户类别
pub OpenOrDestroy: TThostFtdcOpenOrDestroyType,
/// 签约日期
pub RegDate: TThostFtdcTradeDateType,
/// 解约日期
pub OutDate: TThostFtdcTradeDateType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcAccountregisterField() {
assert_eq!(::std::mem::size_of::<CThostFtdcAccountregisterField>() ,
408usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcAccountregisterField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcAccountregisterField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcAccountregisterField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
TradeDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
TradeDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
BankID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
BankBranchID as * const _ as usize } , 13usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
BankAccount as * const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
BrokerID as * const _ as usize } , 59usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
BrokerBranchID as * const _ as usize } , 70usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
AccountID as * const _ as usize } , 101usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
IdCardType as * const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
IdentifiedCardNo as * const _ as usize } , 115usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
CustomerName as * const _ as usize } , 166usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
CurrencyID as * const _ as usize } , 217usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
OpenOrDestroy as * const _ as usize } , 221usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
OpenOrDestroy ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
RegDate as * const _ as usize } , 222usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
RegDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
OutDate as * const _ as usize } , 231usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
OutDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) . TID
as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
CustType as * const _ as usize } , 244usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
BankAccType as * const _ as usize } , 245usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
LongCustomerName as * const _ as usize } , 246usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcAccountregisterField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcAccountregisterField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcAccountregisterField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银期开户信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcOpenAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 汇钞标志
pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcOpenAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcOpenAccountField>() , 1040usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcOpenAccountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcOpenAccountField>() , 4usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcOpenAccountField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradeCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . BrokerID
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( BrokerID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradeDate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradeTime
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( BankSerial
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradingDay
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( SessionID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( IdCardType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Gender
as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( Gender )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
CountryCode as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . CustType
as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( CustType )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Address
as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( Address )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . ZipCode
as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( ZipCode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
Telephone as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( Telephone
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
MobilePhone as * const _ as usize } , 387usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Fax as *
const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( Fax ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . EMail as
* const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( EMail )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 490usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankAccount as * const _ as usize } , 491usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankPassWord as * const _ as usize } , 532usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
AccountID as * const _ as usize } , 573usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( AccountID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Password
as * const _ as usize } , 586usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( Password )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
InstallID as * const _ as usize } , 628usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( InstallID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
CurrencyID as * const _ as usize } , 633usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( CurrencyID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
CashExchangeCode as * const _ as usize } , 637usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
CashExchangeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Digest
as * const _ as usize } , 638usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( Digest )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankAccType as * const _ as usize } , 674usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . DeviceID
as * const _ as usize } , 675usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( DeviceID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankSecuAccType as * const _ as usize } , 678usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankSecuAcc as * const _ as usize } , 712usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
BankPwdFlag as * const _ as usize } , 753usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . OperNo
as * const _ as usize } , 755usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . TID as *
const _ as usize } , 772usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( TID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . UserID
as * const _ as usize } , 776usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . ErrorID
as * const _ as usize } , 792usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( ErrorID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . ErrorMsg
as * const _ as usize } , 796usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! ( ErrorMsg )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
LongCustomerName as * const _ as usize } , 877usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcOpenAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcOpenAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcOpenAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银期销户信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcCancelAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 汇钞标志
pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 渠道标志
pub DeviceID: TThostFtdcDeviceIDType,
/// 期货单位帐号类型
pub BankSecuAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 期货单位帐号
pub BankSecuAcc: TThostFtdcBankAccountType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易柜员
pub OperNo: TThostFtdcOperNoType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 用户标识
pub UserID: TThostFtdcUserIDType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCancelAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCancelAccountField>() ,
1040usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcCancelAccountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCancelAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcCancelAccountField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . Gender
as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( Gender )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
CountryCode as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
CustType as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( CustType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
Address as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( Address
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
ZipCode as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( ZipCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
Telephone as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
MobilePhone as * const _ as usize } , 387usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . Fax as
* const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( Fax )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . EMail
as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( EMail )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 490usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankAccount as * const _ as usize } , 491usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankPassWord as * const _ as usize } , 532usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
AccountID as * const _ as usize } , 573usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
Password as * const _ as usize } , 586usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( Password
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
InstallID as * const _ as usize } , 628usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
CurrencyID as * const _ as usize } , 633usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
CashExchangeCode as * const _ as usize } , 637usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
CashExchangeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . Digest
as * const _ as usize } , 638usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( Digest )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankAccType as * const _ as usize } , 674usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
DeviceID as * const _ as usize } , 675usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( DeviceID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankSecuAccType as * const _ as usize } , 678usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankSecuAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankSecuAcc as * const _ as usize } , 712usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankSecuAcc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
BankPwdFlag as * const _ as usize } , 753usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . OperNo
as * const _ as usize } , 755usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( OperNo )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . TID as
* const _ as usize } , 772usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . UserID
as * const _ as usize } , 776usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
ErrorID as * const _ as usize } , 792usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( ErrorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
ErrorMsg as * const _ as usize } , 796usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! ( ErrorMsg
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
LongCustomerName as * const _ as usize } , 877usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcCancelAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcCancelAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcCancelAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银期变更银行账号信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcChangeAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 新银行帐号
pub NewBankAccount: TThostFtdcBankAccountType,
/// 新银行密码
pub NewBankPassWord: TThostFtdcPasswordType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 银行密码标志
pub BankPwdFlag: TThostFtdcPwdFlagType,
/// 期货资金密码核对标志
pub SecuPwdFlag: TThostFtdcPwdFlagType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
/// 长客户姓名
pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
#[test]
fn bindgen_test_layout_CThostFtdcChangeAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcChangeAccountField>() ,
1044usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcChangeAccountField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcChangeAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcChangeAccountField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . BankID
as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( BankID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
IdCardType as * const _ as usize } , 163usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 164usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . Gender
as * const _ as usize } , 215usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( Gender )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
CountryCode as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
CustType as * const _ as usize } , 237usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( CustType
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
Address as * const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( Address
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
ZipCode as * const _ as usize } , 339usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( ZipCode
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
Telephone as * const _ as usize } , 346usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
MobilePhone as * const _ as usize } , 387usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . Fax as
* const _ as usize } , 408usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( Fax )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . EMail
as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( EMail )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 490usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BankAccount as * const _ as usize } , 491usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BankPassWord as * const _ as usize } , 532usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
NewBankAccount as * const _ as usize } , 573usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
NewBankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
NewBankPassWord as * const _ as usize } , 614usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
NewBankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
AccountID as * const _ as usize } , 655usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
Password as * const _ as usize } , 668usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( Password
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BankAccType as * const _ as usize } , 709usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
InstallID as * const _ as usize } , 712usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 716usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
CurrencyID as * const _ as usize } , 717usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 721usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
BankPwdFlag as * const _ as usize } , 754usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
BankPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
SecuPwdFlag as * const _ as usize } , 755usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
SecuPwdFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . TID as
* const _ as usize } , 756usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( TID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . Digest
as * const _ as usize } , 760usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( Digest )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
ErrorID as * const _ as usize } , 796usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( ErrorID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
ErrorMsg as * const _ as usize } , 800usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! ( ErrorMsg
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
LongCustomerName as * const _ as usize } , 881usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcChangeAccountField ) , "::" , stringify ! (
LongCustomerName ) ));
}
impl Clone for CThostFtdcChangeAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcChangeAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 二级代理操作员银期权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcSecAgentACIDMapField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 资金账户
pub AccountID: TThostFtdcAccountIDType,
/// 币种
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 境外中介机构资金帐号
pub BrokerSecAgentID: TThostFtdcAccountIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcSecAgentACIDMapField() {
assert_eq!(::std::mem::size_of::<CThostFtdcSecAgentACIDMapField>() ,
57usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcSecAgentACIDMapField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcSecAgentACIDMapField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcSecAgentACIDMapField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
AccountID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
CurrencyID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
BrokerSecAgentID as * const _ as usize } , 44usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
BrokerSecAgentID ) ));
}
impl Clone for CThostFtdcSecAgentACIDMapField {
fn clone(&self) -> Self { *self }
}
/// 二级代理操作员银期权限查询
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySecAgentACIDMapField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 资金账户
pub AccountID: TThostFtdcAccountIDType,
/// 币种
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySecAgentACIDMapField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySecAgentACIDMapField>() ,
44usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySecAgentACIDMapField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySecAgentACIDMapField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySecAgentACIDMapField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
AccountID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
CurrencyID as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcQrySecAgentACIDMapField {
fn clone(&self) -> Self { *self }
}
/// 灾备中心交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcUserRightsAssignField {
/// 应用单元代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 交易中心代码
pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserRightsAssignField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserRightsAssignField>() ,
32usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcUserRightsAssignField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcUserRightsAssignField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcUserRightsAssignField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightsAssignField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightsAssignField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightsAssignField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightsAssignField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserRightsAssignField ) ) .
DRIdentityID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserRightsAssignField ) , "::" , stringify ! (
DRIdentityID ) ));
}
impl Clone for CThostFtdcUserRightsAssignField {
fn clone(&self) -> Self { *self }
}
/// 经济公司是否有在本标示的交易权限
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcBrokerUserRightAssignField {
/// 应用单元代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 交易中心代码
pub DRIdentityID: TThostFtdcDRIdentityIDType,
/// 能否交易
pub Tradeable: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcBrokerUserRightAssignField() {
assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserRightAssignField>() ,
20usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcBrokerUserRightAssignField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserRightAssignField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcBrokerUserRightAssignField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserRightAssignField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserRightAssignField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserRightAssignField ) )
. DRIdentityID as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserRightAssignField ) , "::" , stringify ! (
DRIdentityID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcBrokerUserRightAssignField ) )
. Tradeable as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcBrokerUserRightAssignField ) , "::" , stringify ! (
Tradeable ) ));
}
impl Clone for CThostFtdcBrokerUserRightAssignField {
fn clone(&self) -> Self { *self }
}
/// 灾备交易转换报文
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcDRTransferField {
/// 原交易中心代码
pub OrigDRIdentityID: TThostFtdcDRIdentityIDType,
/// 目标交易中心代码
pub DestDRIdentityID: TThostFtdcDRIdentityIDType,
/// 原应用单元代码
pub OrigBrokerID: TThostFtdcBrokerIDType,
/// 目标易用单元代码
pub DestBrokerID: TThostFtdcBrokerIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcDRTransferField() {
assert_eq!(::std::mem::size_of::<CThostFtdcDRTransferField>() , 32usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcDRTransferField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcDRTransferField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcDRTransferField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
OrigDRIdentityID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDRTransferField ) , "::" , stringify ! (
OrigDRIdentityID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
DestDRIdentityID as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDRTransferField ) , "::" , stringify ! (
DestDRIdentityID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
OrigBrokerID as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDRTransferField ) , "::" , stringify ! (
OrigBrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
DestBrokerID as * const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDRTransferField ) , "::" , stringify ! (
DestBrokerID ) ));
}
impl Clone for CThostFtdcDRTransferField {
fn clone(&self) -> Self { *self }
}
/// Fens用户信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcFensUserInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 登录模式
pub LoginMode: TThostFtdcLoginModeType,
}
#[test]
fn bindgen_test_layout_CThostFtdcFensUserInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcFensUserInfoField>() , 28usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcFensUserInfoField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcFensUserInfoField>() , 1usize
, concat ! (
"Alignment of " , stringify ! ( CThostFtdcFensUserInfoField )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFensUserInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFensUserInfoField ) , "::" , stringify ! ( BrokerID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFensUserInfoField ) ) . UserID
as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFensUserInfoField ) , "::" , stringify ! ( UserID )
));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcFensUserInfoField ) ) .
LoginMode as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcFensUserInfoField ) , "::" , stringify ! ( LoginMode
) ));
}
impl Clone for CThostFtdcFensUserInfoField {
fn clone(&self) -> Self { *self }
}
/// 当前银期所属交易中心
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCurrTransferIdentityField {
/// 交易中心代码
pub IdentityID: TThostFtdcDRIdentityIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCurrTransferIdentityField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCurrTransferIdentityField>() ,
4usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcCurrTransferIdentityField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCurrTransferIdentityField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcCurrTransferIdentityField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCurrTransferIdentityField ) ) .
IdentityID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCurrTransferIdentityField ) , "::" , stringify ! (
IdentityID ) ));
}
impl Clone for CThostFtdcCurrTransferIdentityField {
fn clone(&self) -> Self { *self }
}
/// 禁止登录用户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcLoginForbiddenUserField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcLoginForbiddenUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcLoginForbiddenUserField>() ,
43usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcLoginForbiddenUserField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcLoginForbiddenUserField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcLoginForbiddenUserField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginForbiddenUserField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginForbiddenUserField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginForbiddenUserField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginForbiddenUserField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcLoginForbiddenUserField ) ) .
IPAddress as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcLoginForbiddenUserField ) , "::" , stringify ! (
IPAddress ) ));
}
impl Clone for CThostFtdcLoginForbiddenUserField {
fn clone(&self) -> Self { *self }
}
/// 查询禁止登录用户
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryLoginForbiddenUserField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryLoginForbiddenUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryLoginForbiddenUserField>() ,
27usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcQryLoginForbiddenUserField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryLoginForbiddenUserField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryLoginForbiddenUserField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryLoginForbiddenUserField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryLoginForbiddenUserField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryLoginForbiddenUserField ) )
. UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryLoginForbiddenUserField ) , "::" , stringify ! (
UserID ) ));
}
impl Clone for CThostFtdcQryLoginForbiddenUserField {
fn clone(&self) -> Self { *self }
}
/// UDP组播组信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcMulticastGroupInfoField {
/// 组播组IP地址
pub GroupIP: TThostFtdcIPAddressType,
/// 组播组IP端口
pub GroupPort: TThostFtdcIPPortType,
/// 源地址
pub SourceIP: TThostFtdcIPAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcMulticastGroupInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcMulticastGroupInfoField>() ,
36usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcMulticastGroupInfoField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcMulticastGroupInfoField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcMulticastGroupInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMulticastGroupInfoField ) ) .
GroupIP as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMulticastGroupInfoField ) , "::" , stringify ! (
GroupIP ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMulticastGroupInfoField ) ) .
GroupPort as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMulticastGroupInfoField ) , "::" , stringify ! (
GroupPort ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcMulticastGroupInfoField ) ) .
SourceIP as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcMulticastGroupInfoField ) , "::" , stringify ! (
SourceIP ) ));
}
impl Clone for CThostFtdcMulticastGroupInfoField {
fn clone(&self) -> Self { *self }
}
/// 资金账户基本准备金
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcTradingAccountReserveField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 基本准备金
pub Reserve: TThostFtdcMoneyType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcTradingAccountReserveField() {
assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountReserveField>() ,
40usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcTradingAccountReserveField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountReserveField>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcTradingAccountReserveField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
. BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
. AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
. Reserve as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
Reserve ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
. CurrencyID as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcTradingAccountReserveField {
fn clone(&self) -> Self { *self }
}
/// 查询禁止登录IP
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryLoginForbiddenIPField {
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryLoginForbiddenIPField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryLoginForbiddenIPField>() ,
16usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryLoginForbiddenIPField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryLoginForbiddenIPField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryLoginForbiddenIPField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryLoginForbiddenIPField ) ) .
IPAddress as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryLoginForbiddenIPField ) , "::" , stringify ! (
IPAddress ) ));
}
impl Clone for CThostFtdcQryLoginForbiddenIPField {
fn clone(&self) -> Self { *self }
}
/// 查询IP列表
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryIPListField {
/// IP地址
pub IPAddress: TThostFtdcIPAddressType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryIPListField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryIPListField>() , 16usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQryIPListField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryIPListField>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQryIPListField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryIPListField ) ) . IPAddress
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryIPListField ) , "::" , stringify ! ( IPAddress )
));
}
impl Clone for CThostFtdcQryIPListField {
fn clone(&self) -> Self { *self }
}
/// 查询用户下单权限分配表
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryUserRightsAssignField {
/// 应用单元代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryUserRightsAssignField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryUserRightsAssignField>() ,
27usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryUserRightsAssignField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQryUserRightsAssignField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryUserRightsAssignField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryUserRightsAssignField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryUserRightsAssignField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryUserRightsAssignField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryUserRightsAssignField ) , "::" , stringify ! (
UserID ) ));
}
impl Clone for CThostFtdcQryUserRightsAssignField {
fn clone(&self) -> Self { *self }
}
/// 银期预约开户确认请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReserveOpenAccountConfirmField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcLongIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 期货密码
pub Password: TThostFtdcPasswordType,
/// 预约开户银行流水号
pub BankReserveOpenSeq: TThostFtdcBankSerialType,
/// 预约开户日期
pub BookDate: TThostFtdcTradeDateType,
/// 预约开户验证密码
pub BookPsw: TThostFtdcPasswordType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReserveOpenAccountConfirmField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReserveOpenAccountConfirmField>()
, 976usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReserveOpenAccountConfirmField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( TradeCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankBranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BrokerID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BrokerBranchID as * const _ as usize } , 27usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BrokerBranchID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( TradeDate ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( TradeTime ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankSerial ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( TradingDay ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( PlateSerial ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( LastFragment ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( SessionID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( CustomerName ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. IdCardType as * const _ as usize } , 273usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( IdCardType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. IdentifiedCardNo as * const _ as usize } , 274usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( IdentifiedCardNo ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. Gender as * const _ as usize } , 325usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( Gender ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. CountryCode as * const _ as usize } , 326usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( CountryCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. CustType as * const _ as usize } , 347usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( CustType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. Address as * const _ as usize } , 348usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( Address ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. ZipCode as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( ZipCode ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. Telephone as * const _ as usize } , 456usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( Telephone ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. MobilePhone as * const _ as usize } , 497usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( MobilePhone ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. Fax as * const _ as usize } , 518usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( Fax ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. EMail as * const _ as usize } , 559usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( EMail ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. MoneyAccountStatus as * const _ as usize } , 600usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( MoneyAccountStatus ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankAccount as * const _ as usize } , 601usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankAccount ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankPassWord as * const _ as usize } , 642usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankPassWord ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. InstallID as * const _ as usize } , 684usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( InstallID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. VerifyCertNoFlag as * const _ as usize } , 688usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. CurrencyID as * const _ as usize } , 689usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( CurrencyID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. Digest as * const _ as usize } , 693usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( Digest ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankAccType as * const _ as usize } , 729usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankAccType ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BrokerIDByBank as * const _ as usize } , 730usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BrokerIDByBank ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. TID as * const _ as usize } , 764usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( TID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. AccountID as * const _ as usize } , 768usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( AccountID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. Password as * const _ as usize } , 781usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( Password ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BankReserveOpenSeq as * const _ as usize } , 822usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BankReserveOpenSeq ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BookDate as * const _ as usize } , 835usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BookDate ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. BookPsw as * const _ as usize } , 844usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( BookPsw ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. ErrorID as * const _ as usize } , 888usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( ErrorID ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
. ErrorMsg as * const _ as usize } , 892usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
! ( ErrorMsg ) ));
}
impl Clone for CThostFtdcReserveOpenAccountConfirmField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReserveOpenAccountConfirmField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银期预约开户
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReserveOpenAccountField {
/// 业务功能码
pub TradeCode: TThostFtdcTradeCodeType,
/// 银行代码
pub BankID: TThostFtdcBankIDType,
/// 银行分支机构代码
pub BankBranchID: TThostFtdcBankBrchIDType,
/// 期商代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 期商分支机构代码
pub BrokerBranchID: TThostFtdcFutureBranchIDType,
/// 交易日期
pub TradeDate: TThostFtdcTradeDateType,
/// 交易时间
pub TradeTime: TThostFtdcTradeTimeType,
/// 银行流水号
pub BankSerial: TThostFtdcBankSerialType,
/// 交易系统日期
pub TradingDay: TThostFtdcTradeDateType,
/// 银期平台消息流水号
pub PlateSerial: TThostFtdcSerialType,
/// 最后分片标志
pub LastFragment: TThostFtdcLastFragmentType,
/// 会话号
pub SessionID: TThostFtdcSessionIDType,
/// 客户姓名
pub CustomerName: TThostFtdcLongIndividualNameType,
/// 证件类型
pub IdCardType: TThostFtdcIdCardTypeType,
/// 证件号码
pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
/// 性别
pub Gender: TThostFtdcGenderType,
/// 国家代码
pub CountryCode: TThostFtdcCountryCodeType,
/// 客户类型
pub CustType: TThostFtdcCustTypeType,
/// 地址
pub Address: TThostFtdcAddressType,
/// 邮编
pub ZipCode: TThostFtdcZipCodeType,
/// 电话号码
pub Telephone: TThostFtdcTelephoneType,
/// 手机
pub MobilePhone: TThostFtdcMobilePhoneType,
/// 传真
pub Fax: TThostFtdcFaxType,
/// 电子邮件
pub EMail: TThostFtdcEMailType,
/// 资金账户状态
pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
/// 银行帐号
pub BankAccount: TThostFtdcBankAccountType,
/// 银行密码
pub BankPassWord: TThostFtdcPasswordType,
/// 安装编号
pub InstallID: TThostFtdcInstallIDType,
/// 验证客户证件号码标志
pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
/// 摘要
pub Digest: TThostFtdcDigestType,
/// 银行帐号类型
pub BankAccType: TThostFtdcBankAccTypeType,
/// 期货公司银行编码
pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
/// 交易ID
pub TID: TThostFtdcTIDType,
/// 预约开户状态
pub ReserveOpenAccStas: TThostFtdcReserveOpenAccStasType,
/// 错误代码
pub ErrorID: TThostFtdcErrorIDType,
/// 错误信息
pub ErrorMsg: TThostFtdcErrorMsgType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReserveOpenAccountField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReserveOpenAccountField>() ,
860usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReserveOpenAccountField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReserveOpenAccountField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReserveOpenAccountField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
TradeCode as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
TradeCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BankID as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BankID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BankBranchID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BankBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BrokerID as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BrokerBranchID as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BrokerBranchID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
TradeDate as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
TradeDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
TradeTime as * const _ as usize } , 67usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
TradeTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BankSerial as * const _ as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BankSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
TradingDay as * const _ as usize } , 89usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
PlateSerial as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
PlateSerial ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
LastFragment as * const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
LastFragment ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
SessionID as * const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
SessionID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
CustomerName as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
CustomerName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
IdCardType as * const _ as usize } , 273usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
IdCardType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
IdentifiedCardNo as * const _ as usize } , 274usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
IdentifiedCardNo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
Gender as * const _ as usize } , 325usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
Gender ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
CountryCode as * const _ as usize } , 326usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
CountryCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
CustType as * const _ as usize } , 347usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
CustType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
Address as * const _ as usize } , 348usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
Address ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
ZipCode as * const _ as usize } , 449usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
ZipCode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
Telephone as * const _ as usize } , 456usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
Telephone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
MobilePhone as * const _ as usize } , 497usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
MobilePhone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
Fax as * const _ as usize } , 518usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! ( Fax
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
EMail as * const _ as usize } , 559usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
EMail ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
MoneyAccountStatus as * const _ as usize } , 600usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
MoneyAccountStatus ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BankAccount as * const _ as usize } , 601usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BankPassWord as * const _ as usize } , 642usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BankPassWord ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
InstallID as * const _ as usize } , 684usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
InstallID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
VerifyCertNoFlag as * const _ as usize } , 688usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
VerifyCertNoFlag ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
CurrencyID as * const _ as usize } , 689usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
CurrencyID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
Digest as * const _ as usize } , 693usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
Digest ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BankAccType as * const _ as usize } , 729usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BankAccType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
BrokerIDByBank as * const _ as usize } , 730usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
BrokerIDByBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
TID as * const _ as usize } , 764usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! ( TID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
ReserveOpenAccStas as * const _ as usize } , 768usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
ReserveOpenAccStas ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
ErrorID as * const _ as usize } , 772usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
ErrorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
ErrorMsg as * const _ as usize } , 776usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
ErrorMsg ) ));
}
impl Clone for CThostFtdcReserveOpenAccountField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReserveOpenAccountField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 银行账户属性
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcAccountPropertyField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者帐号
pub AccountID: TThostFtdcAccountIDType,
/// 银行统一标识类型
pub BankID: TThostFtdcBankIDType,
/// 银行账户
pub BankAccount: TThostFtdcBankAccountType,
/// 银行账户的开户人名称
pub OpenName: TThostFtdcInvestorFullNameType,
/// 银行账户的开户行
pub OpenBank: TThostFtdcOpenBankType,
/// 是否活跃
pub IsActive: TThostFtdcBoolType,
/// 账户来源
pub AccountSourceType: TThostFtdcAccountSourceTypeType,
/// 开户日期
pub OpenDate: TThostFtdcDateType,
/// 注销日期
pub CancelDate: TThostFtdcDateType,
/// 录入员代码
pub OperatorID: TThostFtdcOperatorIDType,
/// 录入日期
pub OperateDate: TThostFtdcDateType,
/// 录入时间
pub OperateTime: TThostFtdcTimeType,
/// 币种代码
pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcAccountPropertyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcAccountPropertyField>() ,
384usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcAccountPropertyField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcAccountPropertyField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcAccountPropertyField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
AccountID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
AccountID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
BankID as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! ( BankID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
BankAccount as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
BankAccount ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
OpenName as * const _ as usize } , 69usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
OpenName ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
OpenBank as * const _ as usize } , 170usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
OpenBank ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
IsActive as * const _ as usize } , 272usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
IsActive ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
AccountSourceType as * const _ as usize } , 276usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
AccountSourceType ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
OpenDate as * const _ as usize } , 277usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
OpenDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
CancelDate as * const _ as usize } , 286usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
CancelDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
OperatorID as * const _ as usize } , 295usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
OperatorID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
OperateDate as * const _ as usize } , 360usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
OperateDate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
OperateTime as * const _ as usize } , 369usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
OperateTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
CurrencyID as * const _ as usize } , 378usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcAccountPropertyField ) , "::" , stringify ! (
CurrencyID ) ));
}
impl Clone for CThostFtdcAccountPropertyField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcAccountPropertyField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 查询当前交易中心
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQryCurrDRIdentityField {
/// 交易中心代码
pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQryCurrDRIdentityField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQryCurrDRIdentityField>() ,
4usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQryCurrDRIdentityField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcQryCurrDRIdentityField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQryCurrDRIdentityField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQryCurrDRIdentityField ) ) .
DRIdentityID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQryCurrDRIdentityField ) , "::" , stringify ! (
DRIdentityID ) ));
}
impl Clone for CThostFtdcQryCurrDRIdentityField {
fn clone(&self) -> Self { *self }
}
/// 当前交易中心
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcCurrDRIdentityField {
/// 交易中心代码
pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcCurrDRIdentityField() {
assert_eq!(::std::mem::size_of::<CThostFtdcCurrDRIdentityField>() , 4usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcCurrDRIdentityField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcCurrDRIdentityField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcCurrDRIdentityField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcCurrDRIdentityField ) ) .
DRIdentityID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcCurrDRIdentityField ) , "::" , stringify ! (
DRIdentityID ) ));
}
impl Clone for CThostFtdcCurrDRIdentityField {
fn clone(&self) -> Self { *self }
}
/// 查询二级代理商资金校验模式
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySecAgentCheckModeField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySecAgentCheckModeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySecAgentCheckModeField>() ,
24usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySecAgentCheckModeField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySecAgentCheckModeField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySecAgentCheckModeField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentCheckModeField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentCheckModeField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentCheckModeField ) ) .
InvestorID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentCheckModeField ) , "::" , stringify ! (
InvestorID ) ));
}
impl Clone for CThostFtdcQrySecAgentCheckModeField {
fn clone(&self) -> Self { *self }
}
/// 查询二级代理商信息
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQrySecAgentTradeInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 境外中介机构资金帐号
pub BrokerSecAgentID: TThostFtdcAccountIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQrySecAgentTradeInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQrySecAgentTradeInfoField>() ,
24usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcQrySecAgentTradeInfoField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQrySecAgentTradeInfoField>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcQrySecAgentTradeInfoField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentTradeInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentTradeInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQrySecAgentTradeInfoField ) ) .
BrokerSecAgentID as * const _ as usize } , 11usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcQrySecAgentTradeInfoField ) , "::" , stringify ! (
BrokerSecAgentID ) ));
}
impl Clone for CThostFtdcQrySecAgentTradeInfoField {
fn clone(&self) -> Self { *self }
}
/// 用户系统信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcUserSystemInfoField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 用户端系统内部信息长度
pub ClientSystemInfoLen: TThostFtdcSystemInfoLenType,
/// 用户端系统内部信息
pub ClientSystemInfo: TThostFtdcClientSystemInfoType,
/// 用户公网IP
pub ClientPublicIP: TThostFtdcIPAddressType,
/// 终端IP端口
pub ClientIPPort: TThostFtdcIPPortType,
/// 登录成功时间
pub ClientLoginTime: TThostFtdcTimeType,
/// App代码
pub ClientAppID: TThostFtdcAppIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcUserSystemInfoField() {
assert_eq!(::std::mem::size_of::<CThostFtdcUserSystemInfoField>() ,
372usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcUserSystemInfoField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcUserSystemInfoField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcUserSystemInfoField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
ClientSystemInfoLen as * const _ as usize } , 28usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
ClientSystemInfoLen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
ClientSystemInfo as * const _ as usize } , 32usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
ClientSystemInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
ClientPublicIP as * const _ as usize } , 305usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
ClientPublicIP ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
ClientIPPort as * const _ as usize } , 324usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
ClientIPPort ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
ClientLoginTime as * const _ as usize } , 328usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
ClientLoginTime ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
ClientAppID as * const _ as usize } , 337usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
ClientAppID ) ));
}
impl Clone for CThostFtdcUserSystemInfoField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcUserSystemInfoField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户发出获取安全安全登陆方法请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcReqUserAuthMethodField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqUserAuthMethodField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqUserAuthMethodField>() ,
36usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqUserAuthMethodField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqUserAuthMethodField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqUserAuthMethodField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserAuthMethodField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserAuthMethodField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserAuthMethodField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserAuthMethodField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserAuthMethodField ) ) .
UserID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserAuthMethodField ) , "::" , stringify ! (
UserID ) ));
}
impl Clone for CThostFtdcReqUserAuthMethodField {
fn clone(&self) -> Self { *self }
}
/// 用户发出获取安全安全登陆方法回复
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcRspUserAuthMethodField {
/// 当前可以用的认证模式
pub UsableAuthMethod: TThostFtdcCurrentAuthMethodType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspUserAuthMethodField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspUserAuthMethodField>() ,
4usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspUserAuthMethodField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspUserAuthMethodField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcRspUserAuthMethodField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspUserAuthMethodField ) ) .
UsableAuthMethod as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspUserAuthMethodField ) , "::" , stringify ! (
UsableAuthMethod ) ));
}
impl Clone for CThostFtdcRspUserAuthMethodField {
fn clone(&self) -> Self { *self }
}
/// 用户发出获取安全安全登陆方法请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcReqGenUserCaptchaField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqGenUserCaptchaField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqGenUserCaptchaField>() ,
36usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqGenUserCaptchaField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqGenUserCaptchaField>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqGenUserCaptchaField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqGenUserCaptchaField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqGenUserCaptchaField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqGenUserCaptchaField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqGenUserCaptchaField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqGenUserCaptchaField ) ) .
UserID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqGenUserCaptchaField ) , "::" , stringify ! (
UserID ) ));
}
impl Clone for CThostFtdcReqGenUserCaptchaField {
fn clone(&self) -> Self { *self }
}
/// 生成的图片验证码信息
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspGenUserCaptchaField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 图片信息长度
pub CaptchaInfoLen: TThostFtdcCaptchaInfoLenType,
/// 图片信息
pub CaptchaInfo: TThostFtdcCaptchaInfoType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspGenUserCaptchaField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspGenUserCaptchaField>() ,
2596usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspGenUserCaptchaField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspGenUserCaptchaField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcRspGenUserCaptchaField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
CaptchaInfoLen as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
CaptchaInfoLen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
CaptchaInfo as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
CaptchaInfo ) ));
}
impl Clone for CThostFtdcRspGenUserCaptchaField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspGenUserCaptchaField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户发出获取安全安全登陆方法请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcReqGenUserTextField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqGenUserTextField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqGenUserTextField>() ,
36usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqGenUserTextField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqGenUserTextField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqGenUserTextField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqGenUserTextField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqGenUserTextField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqGenUserTextField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqGenUserTextField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqGenUserTextField ) ) .
UserID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqGenUserTextField ) , "::" , stringify ! ( UserID
) ));
}
impl Clone for CThostFtdcReqGenUserTextField {
fn clone(&self) -> Self { *self }
}
/// 短信验证码生成的回复
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcRspGenUserTextField {
/// 短信验证码序号
pub UserTextSeq: TThostFtdcUserTextSeqType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspGenUserTextField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspGenUserTextField>() , 4usize
, concat ! (
"Size of: " , stringify ! ( CThostFtdcRspGenUserTextField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcRspGenUserTextField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspGenUserTextField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspGenUserTextField ) ) .
UserTextSeq as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspGenUserTextField ) , "::" , stringify ! (
UserTextSeq ) ));
}
impl Clone for CThostFtdcRspGenUserTextField {
fn clone(&self) -> Self { *self }
}
/// 用户发出带图形验证码的登录请求请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqUserLoginWithCaptchaField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 接口端产品信息
pub InterfaceProductInfo: TThostFtdcProductInfoType,
/// 协议信息
pub ProtocolInfo: TThostFtdcProtocolInfoType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 终端IP地址
pub ClientIPAddress: TThostFtdcIPAddressType,
/// 登录备注
pub LoginRemark: TThostFtdcLoginRemarkType,
/// 图形验证码的文字内容
pub Captcha: TThostFtdcPasswordType,
/// 终端IP端口
pub ClientIPPort: TThostFtdcIPPortType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqUserLoginWithCaptchaField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginWithCaptchaField>()
, 228usize , concat ! (
"Size of: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginWithCaptchaField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . UserID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . Password as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . UserProductInfo as * const _ as usize } , 77usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . InterfaceProductInfo as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( InterfaceProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . ProtocolInfo as * const _ as usize } , 99usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( ProtocolInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . MacAddress as * const _ as usize } , 110usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . ClientIPAddress as * const _ as usize } , 131usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( ClientIPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . LoginRemark as * const _ as usize } , 147usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( LoginRemark ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . Captcha as * const _ as usize } , 183usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( Captcha ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
) . ClientIPPort as * const _ as usize } , 224usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
( ClientIPPort ) ));
}
impl Clone for CThostFtdcReqUserLoginWithCaptchaField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqUserLoginWithCaptchaField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户发出带短信验证码的登录请求请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqUserLoginWithTextField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 接口端产品信息
pub InterfaceProductInfo: TThostFtdcProductInfoType,
/// 协议信息
pub ProtocolInfo: TThostFtdcProtocolInfoType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 终端IP地址
pub ClientIPAddress: TThostFtdcIPAddressType,
/// 登录备注
pub LoginRemark: TThostFtdcLoginRemarkType,
/// 短信验证码文字内容
pub Text: TThostFtdcPasswordType,
/// 终端IP端口
pub ClientIPPort: TThostFtdcIPPortType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqUserLoginWithTextField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginWithTextField>() ,
228usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqUserLoginWithTextField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginWithTextField>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
UserID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
Password as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
UserProductInfo as * const _ as usize } , 77usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
InterfaceProductInfo as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
InterfaceProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
ProtocolInfo as * const _ as usize } , 99usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
ProtocolInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
MacAddress as * const _ as usize } , 110usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
ClientIPAddress as * const _ as usize } , 131usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
ClientIPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
LoginRemark as * const _ as usize } , 147usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
LoginRemark ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
Text as * const _ as usize } , 183usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
Text ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
ClientIPPort as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
ClientIPPort ) ));
}
impl Clone for CThostFtdcReqUserLoginWithTextField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqUserLoginWithTextField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 用户发出带动态验证码的登录请求请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqUserLoginWithOTPField {
/// 交易日
pub TradingDay: TThostFtdcDateType,
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 密码
pub Password: TThostFtdcPasswordType,
/// 用户端产品信息
pub UserProductInfo: TThostFtdcProductInfoType,
/// 接口端产品信息
pub InterfaceProductInfo: TThostFtdcProductInfoType,
/// 协议信息
pub ProtocolInfo: TThostFtdcProtocolInfoType,
/// Mac地址
pub MacAddress: TThostFtdcMacAddressType,
/// 终端IP地址
pub ClientIPAddress: TThostFtdcIPAddressType,
/// 登录备注
pub LoginRemark: TThostFtdcLoginRemarkType,
/// OTP密码
pub OTPPassword: TThostFtdcPasswordType,
/// 终端IP端口
pub ClientIPPort: TThostFtdcIPPortType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqUserLoginWithOTPField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginWithOTPField>() ,
228usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqUserLoginWithOTPField
) ));
assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginWithOTPField>() ,
4usize , concat ! (
"Alignment of " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
TradingDay as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
TradingDay ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
BrokerID as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
UserID as * const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
UserID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
Password as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
Password ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
UserProductInfo as * const _ as usize } , 77usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
UserProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
InterfaceProductInfo as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
InterfaceProductInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
ProtocolInfo as * const _ as usize } , 99usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
ProtocolInfo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
MacAddress as * const _ as usize } , 110usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
MacAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
ClientIPAddress as * const _ as usize } , 131usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
ClientIPAddress ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
LoginRemark as * const _ as usize } , 147usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
LoginRemark ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
OTPPassword as * const _ as usize } , 183usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
OTPPassword ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
ClientIPPort as * const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
ClientIPPort ) ));
}
impl Clone for CThostFtdcReqUserLoginWithOTPField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqUserLoginWithOTPField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// api握手请求
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcReqApiHandshakeField {
/// api与front通信密钥版本号
pub CryptoKeyVersion: TThostFtdcCryptoKeyVersionType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqApiHandshakeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqApiHandshakeField>() ,
31usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqApiHandshakeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqApiHandshakeField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqApiHandshakeField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqApiHandshakeField ) ) .
CryptoKeyVersion as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqApiHandshakeField ) , "::" , stringify ! (
CryptoKeyVersion ) ));
}
impl Clone for CThostFtdcReqApiHandshakeField {
fn clone(&self) -> Self { *self }
}
/// front发给api的握手回复
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcRspApiHandshakeField {
/// 握手回复数据长度
pub FrontHandshakeDataLen: TThostFtdcHandshakeDataLenType,
/// 握手回复数据
pub FrontHandshakeData: TThostFtdcHandshakeDataType,
/// API认证是否开启
pub IsApiAuthEnabled: TThostFtdcBoolType,
}
#[test]
fn bindgen_test_layout_CThostFtdcRspApiHandshakeField() {
assert_eq!(::std::mem::size_of::<CThostFtdcRspApiHandshakeField>() ,
312usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcRspApiHandshakeField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcRspApiHandshakeField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcRspApiHandshakeField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspApiHandshakeField ) ) .
FrontHandshakeDataLen as * const _ as usize } , 0usize ,
concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcRspApiHandshakeField ) , "::" , stringify ! (
FrontHandshakeDataLen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspApiHandshakeField ) ) .
FrontHandshakeData as * const _ as usize } , 4usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspApiHandshakeField ) , "::" , stringify ! (
FrontHandshakeData ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcRspApiHandshakeField ) ) .
IsApiAuthEnabled as * const _ as usize } , 308usize , concat !
(
"Alignment of field: " , stringify ! (
CThostFtdcRspApiHandshakeField ) , "::" , stringify ! (
IsApiAuthEnabled ) ));
}
impl Clone for CThostFtdcRspApiHandshakeField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcRspApiHandshakeField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// api给front的验证key的请求
#[repr(C)]
#[derive(Copy)]
pub struct CThostFtdcReqVerifyApiKeyField {
/// 握手回复数据长度
pub ApiHandshakeDataLen: TThostFtdcHandshakeDataLenType,
/// 握手回复数据
pub ApiHandshakeData: TThostFtdcHandshakeDataType,
}
#[test]
fn bindgen_test_layout_CThostFtdcReqVerifyApiKeyField() {
assert_eq!(::std::mem::size_of::<CThostFtdcReqVerifyApiKeyField>() ,
308usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcReqVerifyApiKeyField )
));
assert_eq! (::std::mem::align_of::<CThostFtdcReqVerifyApiKeyField>() ,
4usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcReqVerifyApiKeyField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqVerifyApiKeyField ) ) .
ApiHandshakeDataLen as * const _ as usize } , 0usize , concat
! (
"Alignment of field: " , stringify ! (
CThostFtdcReqVerifyApiKeyField ) , "::" , stringify ! (
ApiHandshakeDataLen ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcReqVerifyApiKeyField ) ) .
ApiHandshakeData as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcReqVerifyApiKeyField ) , "::" , stringify ! (
ApiHandshakeData ) ));
}
impl Clone for CThostFtdcReqVerifyApiKeyField {
fn clone(&self) -> Self { *self }
}
impl Default for CThostFtdcReqVerifyApiKeyField {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/// 操作员组织架构关系
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcDepartmentUserField {
/// 经纪公司代码
pub BrokerID: TThostFtdcBrokerIDType,
/// 用户代码
pub UserID: TThostFtdcUserIDType,
/// 投资者范围
pub InvestorRange: TThostFtdcDepartmentRangeType,
/// 投资者代码
pub InvestorID: TThostFtdcInvestorIDType,
}
#[test]
fn bindgen_test_layout_CThostFtdcDepartmentUserField() {
assert_eq!(::std::mem::size_of::<CThostFtdcDepartmentUserField>() ,
41usize , concat ! (
"Size of: " , stringify ! ( CThostFtdcDepartmentUserField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcDepartmentUserField>() ,
1usize , concat ! (
"Alignment of " , stringify ! ( CThostFtdcDepartmentUserField
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
BrokerID as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepartmentUserField ) , "::" , stringify ! (
BrokerID ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
UserID as * const _ as usize } , 11usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepartmentUserField ) , "::" , stringify ! ( UserID
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
InvestorRange as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepartmentUserField ) , "::" , stringify ! (
InvestorRange ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
InvestorID as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcDepartmentUserField ) , "::" , stringify ! (
InvestorID ) ));
}
impl Clone for CThostFtdcDepartmentUserField {
fn clone(&self) -> Self { *self }
}
/// 查询频率,每秒查询比数
#[repr(C)]
#[derive(Default, Copy)]
pub struct CThostFtdcQueryFreqField {
/// 查询频率
pub QueryFreq: TThostFtdcQueryFreqType,
}
#[test]
fn bindgen_test_layout_CThostFtdcQueryFreqField() {
assert_eq!(::std::mem::size_of::<CThostFtdcQueryFreqField>() , 4usize ,
concat ! (
"Size of: " , stringify ! ( CThostFtdcQueryFreqField ) ));
assert_eq! (::std::mem::align_of::<CThostFtdcQueryFreqField>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( CThostFtdcQueryFreqField ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const CThostFtdcQueryFreqField ) ) . QueryFreq
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
CThostFtdcQueryFreqField ) , "::" , stringify ! ( QueryFreq )
));
}
impl Clone for CThostFtdcQueryFreqField {
fn clone(&self) -> Self { *self }
}