This code is available for download
#pragma once // sample NxCoreTableHelper.h file struct nxST_PERMID //(2) - Permission IDs { enum { NxNALL = 0, OFULL_01 = 1, ONBBO_1 = 2, CMEQTE = 3, CBOTQTE = 4, CBOTQDP = 5, NASDQTE = 6, NASDIMQ = 7, NASDLV2 = 8, NASDTRD = 9, OPRATRD = 10, CMETRD = 11, CBOTTRD = 12, NYSEQTE = 13, AMEXQTE = 14, NYSEIMQ = 15, AMEXIMQ = 16, NYSETRD = 17, AMEXTRD = 18, DOWALL = 19, ONBBO_02 = 20, ONBBO_03 = 21, ONBBO_04 = 22, OFULL_02 = 23, TSETRD = 24, OFULL_03 = 25, NYMEXALL = 26, NYBTALL = 27, COMEXALL = 28, OFULL_04 = 29, AMEXIDX = 30, NYSEIDX = 31, NASDIDX = 32, NQMFALL = 33, OFULL_05 = 34, NQBCALL = 35, OFULL_06 = 36, OFULL_07 = 37, OFULL_08 = 38, RUSLIDX = 39, OFULL_09 = 40, OFULL_10 = 41, CBOEIDX = 42, OFULL_11 = 43, CMEIDX = 44, OFULL_12 = 45, OFULL_13 = 46, OFULL_14 = 47, OFULL_15 = 48, BARKALL = 49, OFULL_16 = 50, PINKALL = 51, OFULL_17 = 52, OFULL_18 = 53, OFULL_19 = 54, NYSEBONDS = 55, OFULL_20 = 56, CBOEFUT = 57, OFULL_21 = 58, OFULL_22 = 59, OFULL_23 = 60, OFULL_24 = 61, OFULL_25 = 62, OFULL_26 = 63, OFULL_27 = 64, OFULL_28 = 65, OFULL_29 = 66, OFULL_30 = 67, OFULL_31 = 68, OFULL_32 = 69, OFULL_33 = 70, OFULL_34 = 71, OFULL_35 = 72, OFULL_36 = 73, OFULL_37 = 74, OFULL_38 = 75, OFULL_39 = 76, OFULL_40 = 77, OFULL_41 = 78, OFULL_42 = 79, OFULL_43 = 80, OFULL_44 = 81, OFULL_45 = 82, OFULL_46 = 83, OFULL_47 = 84, OFULL_48 = 85, NYMEXQTE = 86, COMEXQTE = 87, CMEQDP = 88, CMEFL = 89, NYSECORP = 90, AMEXCORP = 91, CBOTFL = 92, COMEXFL = 93, NYMEXFL = 94, NQTVNASD = 95, NQTVNYSE = 96, NQTVAMEX = 97 }; }; struct nxST_EXCHANGE //(3) - Exchange Codes { enum { NQEX = 1, NQAD = 2, NYSE = 3, AMEX = 4, CBOE = 5, ISEX = 6, PACF = 7, CINC = 8, PHIL = 9, OPRA = 10, BOST = 11, NQNM = 12, NQSC = 13, NQBB = 14, NQPK = 15, NQIX = 16, CHIC = 17, TSE = 18, CDNX = 19, CME = 20, NYBT = 21, MRCY = 22, COMX = 23, CBOT = 24, NYMX = 25, KCBT = 26, MGEX = 27, NYBO = 28, NQBS = 29, DOWJ = 30, GEMI = 31, SIMX = 32, FTSE = 33, EURX = 34, IMPL = 35, DTN = 36, LMT = 37, LME = 38, IPEX = 39, NQMF = 40, FCEC = 41, C2 = 42, MIAX = 43, FNYM = 44, BARK = 45, EMLD = 46, NQBX = 47, HOTS = 48, EUUS = 49, EUEU = 50, ENCM = 51, ENID = 52, ENIR = 53, CFE = 54, PBOT = 55, FCME = 56, NQNX = 57, CTRF = 58, NTRF = 59, BATS = 60, FCBT = 61, PINK = 62, BATY = 63, EDGE = 64, EDGX = 65, RUSL = 66, CMEX = 67, IEX = 68, PERL = 69, LSE = 70, GIF = 71, TSIX = 72, MEMX = 73, LTSE = 75 }; }; struct nxST_TRADECONDITION //(4) - Trade Conditions { enum { Regular = 0, FormT = 1, OutOfSeq = 2, AvgPrc = 3, AvgPrc_Nasdaq = 4, OpenReportLate = 5, OpenReportOutOfSeq = 6, OpenReportInSeq = 7, PriorReferencePrice = 8, NextDaySale = 9, Bunched = 10, CashSale = 11, Seller = 12, SoldLast = 13, Rule127 = 14, BunchedSold = 15, NonBoardLot = 16, POSIT = 17, AutoExecution = 18, Halt = 19, Delayed = 20, Reopen = 21, Acquisition = 22, CashMarket = 23, NextDayMarket = 24, BurstBasket = 25, OpenDetail = 26, IntraDetail = 27, BasketOnClose = 28, Rule155 = 29, Distribution = 30, Split = 31, RegularSettle = 32, CustomBasketCross = 33, AdjTerms = 34, Spread = 35, Straddle = 36, BuyWrite = 37, Combo = 38, STPD = 39, CANC = 40, CANCLAST = 41, CANCOPEN = 42, CANCONLY = 43, CANCSTPD = 44, MatchCross = 45, FastMarket = 46, Nominal = 47, Cabinet = 48, BlankPrice = 49, NotSpecified = 50, MCOfficialClose = 51, SpecialTerms = 52, ContingentOrder = 53, InternalCross = 54, StoppedRegular = 55, StoppedSoldLast = 56, StoppedOutOfSeq = 57, Basis = 58, VWAP = 59, SpecialSession = 60, NanexAdmin = 61, OpenReport = 62, MarketOnClose = 63, SettlePrice = 64, OutOfSeqPreMkt = 65, MCOfficialOpen = 66, FuturesSpread = 67, OpenRange = 68, CloseRange = 69, NominalCabinet = 70, ChangingTrans = 71, ChangingTransCab = 72, NominalUpdate = 73, PitSettlement = 74, BlockTrade = 75, ExgForPhysical = 76, VolumeAdjustment = 77, VolatilityTrade = 78, YellowFlag = 79, FloorPrice = 80, OfficialPrice = 81, UnofficialPrice = 82, MidBidAskPrice = 83, EndSessionHigh = 84, EndSessionLow = 85, Backwardation = 86, Contango = 87, Holiday = 88, PreOpening = 89, PostFull = 90, PostRestricted = 91, ClosingAuction = 92, Batch = 93, Trading = 94, IntermarketSweep = 95, Derivative = 96, Reopening = 97, Closing = 98, CAPElection = 99, SpotSettlement = 100, BasisHigh = 101, BasisLow = 102, Yield = 103, PriceVariation = 104, StockOption = 105, StoppedIM = 106, Benchmark = 107, TradeThruExempt = 108, Implied = 109, OTC = 110, MktSupervision = 111, ContingentUTP = 114, OddLot = 115, CorrectedCsLast = 117, OPRAExtHours = 118, QualifiedContingent = 124, SingleLegAuctionNonISO = 125, SingleLegAuctionISO = 126, SingleLegCrossNonISO = 127, SingleLegCrossISO = 128, SingleLegFloorTrade = 129, MultiLegAutoelectronicTrade = 130, MultiLegAuction = 131, MultiLegCross = 132, MultiLegFloorTrade = 133, MultiLegAutoElecTradeAgainstSingleLeg = 134, StockOptionsAuction = 135, MultiLegAuctionAgainstSingleLeg = 136, MultiLegFloorTradeAgainstSingleLeg = 137, StockOptionsAutoElecTrade = 138, StockOptionsCross = 139, StockOptionsFloorTrade = 140, StockOptionsAutoElecTradeAgainstSingleLeg = 141, StockOptionsAuctionAgainstSingleLeg = 142, StockOptionsFloorTradeAgainstSingleLeg = 143, MultiLegFloorTradeOfProprietaryProducts = 144, BidAgressor = 145, AskAgressor = 146, MultilateralCompressionTradeofProprietaryDataProducts = 147, ExtendedHoursTrade = 148 }; }; struct nxST_QUOTECONDITION //(5) - Quote Conditions { enum { Regular = 0, BidAskAutoExec = 1, Rotation = 2, SpecialistAsk = 3, SpecialistBid = 4, Locked = 5, FastMarket = 6, SpecialistBidAsk = 7, OneSide = 8, OpeningQuote = 9, ClosingQuote = 10, MarketMakerClosed = 11, DepthOnAsk = 12, DepthOnBid = 13, DepthOnBidAsk = 14, Tier3 = 15, Crossed = 16, Halted = 17, OperationalHalt = 18, News = 19, NewsPending = 20, NonFirm = 21, DueToRelated = 22, Resume = 23, NoMarketMakers = 24, OrderImbalance = 25, OrderInflux = 26, Indicated = 27, PreOpen = 28, InViewOfCommon = 29, RelatedNewsPending = 30, RelatedNewsOut = 31, AdditionalInfo = 32, RelatedAddlInfo = 33, NoOpenResume = 34, Deleted = 35, RegulatoryHalt = 36, SECSuspension = 37, NonComliance = 38, FilingsNotCurrent = 39, CATSHalted = 40, CATS = 41, ExDivOrSplit = 42, Unassigned = 43, InsideOpen = 44, InsideClosed = 45, OfferWanted = 46, BidWanted = 47, Cash = 48, Inactive = 49, NationalBBO = 50, Nominal = 51, Cabinet = 52, NominalCabinet = 53, BlankPrice = 54, SlowBidAsk = 55, SlowList = 56, SlowBid = 57, SlowAsk = 58, BidOfferWatned = 59, Subpenny = 60, NonBBO = 61, SpecialOpen = 62, Benchmark = 63, Implied = 64, ExchangeBest = 65, MktWideHalt1 = 66, MktWideHalt2 = 67, MktWideHalt3 = 68, OnDemandAuction = 69, NonFirmBid = 70, NonFirmAsk = 71, RetailBid = 72, RetailAsk = 73, RetailQte = 74 }; }; struct nxST_CATEGORY //(6) - NxCore Categories { enum { NanexCategories_1 = 0, OptionContract = 1, OptionSeries = 2, SymbolClassification = 3, EquitySymbolInfo = 4, FuturesSymbolInfo = 5, BondSymbolInfo = 6, IndexSymbolInfo = 7, FundSymbolInfo = 8, EquityFundamental = 9, DTNEquityFundamental = 10, MutualFundFundamental = 11, MoneyMarketFundamental = 12, FiftyTwoWeekHiLo = 13, YTDHiLo = 14, ContractHiLo = 15, OHLC = 16, NxRefreshOverride = 17, NxUncorrectedOHLCV = 18, TradeReportSummary = 20, FormTReportSummary = 21, OpeningTradeReports = 22, MCClosingTradeReports = 23, TradeCorrection = 24, BarCorrection = 25, NxFirstTrade = 26, NxLastTrade = 27, NxFirstQuote = 28, NxLastQuote = 29, SymbolHistory = 30, SymbolAlias = 31, ActivityRank = 33, FinancialStatus = 34, NxNMsg = 39, OptionMultipleStrikeCodes = 40, OptionMultipleStrikePrices = 41, TradingSessionHours = 42, CTA_ClosingReport = 50, OTCBB_ClosingReport = 51, OTC_ClosingReport = 52, Nasdaq_ClosingReport = 54, Nasdaq_InsideClosingReport = 55, CCDF_ClosingReport = 56, Split = 60, ExDividend = 61, DividendYield = 62, Halt = 63, PriceIndication = 64, OrderImbalance = 65, ShortSaleRestricted = 66, OpenInterest = 67, VolOI = 68, MMakerStatus = 69, RootSymbolInfo = 70, FundPricing = 71, FuturesContract = 80, OpenRange = 81, CloseRange = 82, OtherRange = 83, Settlement = 84, FutureOptContract = 86, CMESecurityInformation = 87, SpreadSecurityInformation = 88 }; }; struct nxST_HALTSTATUS //(7) - Halt Codes { enum { Resume = 0, OpenDelay = 1, Halted = 2, NoOpenNoResume = 3 }; }; struct nxST_HALTREASONTYPE //(8) - Halt Reasons { enum { News = 1, NewsDisseminated = 2, OrderImbalance = 3, EquipmentChange = 4, PendingAdditionalInfo = 5, Suspended = 6, SEC = 7, NotSpecified = 8, LULDPause = 9, MarketWideHaltLevel1 = 10, MarketWideHaltLevel2 = 11, MarketWideHaltLevel3 = 12, MarketWideHaltResume = 13, LULDStraddle = 14, ExtraordinaryMarketActivity = 15, ETF = 16, NonCompliance = 17, FilingsNotCurrent = 18, Operations = 19, IPOPending = 20, CorporateAction = 21, QuoteUnavailable = 22, SingleStockPause = 23, SingleStockPauseResume = 24, OrderInflux = 25, Volatility = 26, SubPennyTrading = 27, NewsResumeTime = 28, QualificationsResolved = 29, FilingsResolved = 39, IssuerNewsNotForthcoming = 31, RequirementsMet = 32, FilingsMet = 33, ConcludedOtherAuthority = 34, NewIssueAvail = 35, IssueAvail = 36, IPO_ReleaseForQuotation = 37, IPO_WindowExtension = 38, MarketWideCircuitBreaker = 39, PostClose = 40, PreCross = 41, Cross = 42, SECRevocation = 43, ForeignMarketRegulatory = 44, SecurityDeletion = 45, ExtraordinaryEvents = 46, InternalHalt = 47, WasFrozen = 48, WasDelayed = 49, AsOfUpdate = 50, RelSec_NewsDissemination = 51, RelSecurity_NewsPending = 52, RelatedSecurity = 53, InViewOfCommon = 54, ExchangeSpecific = 55, NoOpenNoResume = 56, NotAvailForTrading = 57, ComponentDerivative = 58, PendingResume = 59, AuthorizedFrozen = 60, InhibitedFrozen = 61, AuthorizedDelay = 62, InhibitedDelay = 63, RecoveryInProgress = 64, PreOpenNoCancel = 65, PreOpen = 66, Opening = 67, Scheduled = 68, Surveillance = 69, CloseFinal = 70, UnknownOrInvalid = 71, PreOpenReserved = 72, Activation = 73, Expiration = 74 }; }; struct nxST_OPENINDICATIONTYPE //(9) - Open Indications { enum { Clear = 0, Normal = 1, New = 2, Correcting = 3, Cancel = 4, Range = 5 }; }; struct nxST_ORDERIMBALANCETYPE //(10) - Order Imbalance { enum { Clear = 0, BuySide = 1, SellSide = 2, ClearClosing = 3, BuySideClosing = 4, SellSideClosing = 5, FastMarket = 6 }; }; struct nxST_TRADEREPORTREASON //(11) - Trade Report Reasons { enum { InitialRefresh = 0, PostInsert = 1, PostCancel = 2, PostCorrection = 3, SyncRefresh = 4, Final = 5, CorrectedFinal = 6 }; }; struct nxST_EXGCORRECTIONMAP //(12) - Exchange Correction Flags { enum { Correction = 0x00000001, Cancel = 0x00000002, Busted = 0x00000004, EntryError = 0x00000008, CancelBid = 0x00000010, CancelAsk = 0x00000020 }; }; struct nxST_SYMBOLCHANGETYPE //(13) - Symbol Change Types { enum { Add = 0, Delete = 1, Modify = 2 }; }; struct nxST_OHLCFLAGS //(14) - OHLC Flags { enum { CloseIsSettle = 0x00000001, CloseInClsRng = 0x00000002, CloseSetByBid = 0x00000004, CloseSetByAsk = 0x00000008, HighBeforeLow = 0x00000010, HighInserted = 0x00000020, LowInserted = 0x00000040, OpenInserted = 0x00000080, HighSetByBid = 0x00000100, LowSetByAsk = 0x00000200, HighEqLow = 0x00000400, LowAboveHigh = 0x00000800, VolEstimated = 0x00001000, OpenInOpnRng = 0x00002000, OpenSetByBid = 0x00004000, OpenSetByAsk = 0x00008000, OpenEqLast = 0x00010000, OpenEqHigh = 0x00020000, OpenEqLow = 0x00040000, OpenOutsideHL = 0x00080000, Corrections = 0x00100000, CloseEqHigh = 0x00200000, CloseEqLow = 0x00400000, CloseOutsideHL = 0x00800000, PrClIsSettle = 0x01000000, PrClInClsRng = 0x02000000, PrClSetByBid = 0x04000000, PrClSetByAsk = 0x08000000, VolumeX100 = 0x10000000 }; }; struct nxST_EXDIVIDENDATTRIB //(15) - Ex Dividend Attribute Flags { enum { Canadian = 0x00000001, Special = 0x00000002, Extra = 0x00000004, ExtraOrdinary = 0x00000008, Increase = 0x00000010, Initial = 0x00000020, SaleOfRights = 0x00000040, Approximate = 0x00000080, OrdinaryIncome = 0x00000100, ExRights = 0x00000200, PercentDistribution = 0x00000400, ToBeAnnounced = 0x00000800, Final = 0x00001000, Decrease = 0x00002000, PaymentInStock = 0x00004000, SemiAnnual = 0x00008000, Annual = 0x00010000, PaymentInKind = 0x00020000, ShortTermCapitalGains = 0x00040000, CapitalGains = 0x00080000, Equivalence = 0x00100000, GrossAmount = 0x00200000, LiquidityDistribution = 0x00400000, PaymentInCashOrStock = 0x00800000, CorrectedAmount = 0x01000000, Monthly = 0x02000000, Multiple = 0x04000000, Estimating = 0x08000000, ReturnOfCapital = 0x10000000 }; }; struct nxST_OPRAEXCHANGELIST //(16) - OPRA Exchange Flags { enum { COMP = 0x00000001, CBOE = 0x00000002, ISEX = 0x00000004, AMEX = 0x00000008, PACF = 0x00000010, PHIL = 0x00000020, BOX = 0x00000040, NQEX2 = 0x00000080, BATS = 0x00000100, CBO2 = 0x00000200, NQBX = 0x00000400, MIAX = 0x00000800, GEMI = 0x00001000, EDGX = 0x00002000, MRCY = 0x00004000, PERL = 0x00008000, EMLD = 0x00010000 }; }; struct nxST_NASDBIDTICK //(17) - Nasdaq Bid Tick { enum { Up = 1, Down = 2, NotAvailable = 3 }; }; struct nxST_MARKETMAKERTYPE //(18) - Market Maker Types { enum { Regular = 1, Primary = 2, Passive = 3 }; }; struct nxST_MMQUOTETYPE //(19) - Market Maker Quote Types { enum { Regular = 1, Passive = 2, SyndicateBid = 3, PreSyndicateBid = 4, PenaltyBid = 5, DeletePosition = 6 }; }; struct nxST_REFRESHTYPE //(20) - Refresh Quote Types { enum { NotRefresh = 0, ExgSourced = 1, Mismatch = 2, Synchronizing = 3 }; }; struct nxST_EXPIRATIONCYCLE //(21) - Option Expiration Cycles { enum { Jan = 1, Feb = 2, Mar = 3, Wk1 = 4, Wk2 = 5, Wk3 = 6, Wk4 = 7, Wk5 = 8, Qtr = 9 }; }; struct nxST_VOLUMETYPE //(22) - Volume Update Types { enum { Incremental = 0, NonIncremental = 1, TotalVolume = 2, TotalVolumeX100 = 3 }; }; struct nxST_QTEMATCHTYPE //(23) - Quote Match Types { enum { NoMatch = 0, AtBid = 1, AtAsk = 2, Inside = 3, BelowBid = 4, AboveAsk = 5 }; }; struct nxST_QTEMATCHFLAGS //(24) - Quote Match Flags { enum { OlderMatch = 0x00000001, Crossed = 0x00000002 }; }; struct nxST_SIGHIGHLOWTYPE //(25) - Significant High Low Types { enum { Even = 0, NewLow = 1, Low = 2, High = 3, NewHigh = 4 }; }; struct nxST_BBOCHANGEFLAGS //(26) - BBO Change Flags { enum { BidExg = 0x00000001, BidPrice = 0x00000002, BidSize = 0x00000004, AskExg = 0x00000010, AskPrice = 0x00000020, AskSize = 0x00000040 }; }; struct nxST_TRADECONDFLAGS //(27) - Trade Condition Flags { enum { NoLast = 0x00000001, NoHigh = 0x00000002, NoLow = 0x00000004 }; }; struct nxST_PRICEFLAGS //(28) - Trade Price Flags { enum { SetLast = 0x00000001, SetHigh = 0x00000002, SetLow = 0x00000004, SetOpen = 0x00000008, InsertRecord = 0x00000010, CancelRecord = 0x00000020, Settlement = 0x00000040 }; }; struct nxST_SETTLEFLAGMAP //(29) - Settlement Flags { enum { OneSession = 0x00000001,, AllSessions = 0x00000002,, Corrected = 0x00000004,, SettleOnly = 0x00000008, TradingTick = 0x00000010, ClearingTick = 0x00000020, Final = 0x00000040, Preliminary = 0x00000080, Actual = 0x00000100, Theoretical = 0x00000200, Intraday = 0x00000400 }; }; struct nxST_SYMBOLFNCLSTATUSMAP //(30) - Financial Status Flags { enum { RestoredGood = 0x00000001, Bankrupt = 0x00000002, Deficient = 0x00000004, Delinquent = 0x00000008, Suspended = 0x00000010 }; }; struct nxST_EQUITYCLASSIFICATIONS //(31) - Equity Classification Flags { enum { ETF = 0x00000001, NQGlobalSelect = 0x00000002, HasOptions = 0x00000010, HasSSFutures = 0x00000020, Dividend = 0x00000100, Split = 0x00000200, SymHist = 0x00000400, NewSymbol = 0x00000800, ClosedEndFund = 0x00001000, ADR = 0x00002000 }; }; struct nxST_SYMBOLTYPES //(32) - Symbol Types { enum { Bond = 1, Currency = 2, Equity = 4, Futures = 5, Index = 8, MutualFund = 12, Option = 14, FuturesOption = 15, FuturesRoot = 17, SingleStockFutures = 18, Spread = 25 }; }; struct NxST_UNDERLYINGPRODUCTCODE //(35) - Underlying Product Code { enum { Commodity = 2, Currency = 4, Equity = 5, Other = 12, InterestRate = 14, FXCash = 15, Energy = 16, Metals = 17 }; }; struct NxST_MATCHALGORITHM //(36) - Matching Algorithms { enum { FIFO = 0, Configurable = 1, ProRata = 2, Allocation = 3, FIFOwLMM = 4, Thresh = 5, FIFOwTOP = 6, THRESHwLMM = 7, Eurodollar = 8 }; }; struct NxST_ELIGIBILITYMAP //(37) - Eligibility Map { enum { ElectronicMatch = 0x00000001, OrderCross = 0x00000002, BlockTrade = 0x00000004, EFP = 0x00000008, EBF = 0x00000010, EFS = 0x00000020, EFR = 0x00000040, OTC = 0x00000080, iLinkMassQuoting = 0x00000100, NegativeStrike = 0x00000200, NegativePrice = 0x00000400, IsFractional = 0x00000800, VolatilityQuotedOption = 0x00001000, RFQCross = 0x00002000, ZeroPrice = 0x00004000, DecayingProduct = 0x00008000, VariableQuantityProduct = 0x00010000, GTOrders = 0x00040000, ImpliedMatching = 0x00080000 }; };