ITCHCPP 1.6.0
High-Performance NASDAQ TotalView-ITCH 5.0 Parser & Market-Data Platform
Loading...
Searching...
No Matches
messages.hpp
Go to the documentation of this file.
1#pragma once
2
15
16#include <cstdint>
17#include <iostream>
18#include <string>
19#include <variant>
20#include <vector>
21
22namespace itch {
23
24// DISABLE PADDING
25#pragma pack(push, 1)
26
34 char message_type = 'S';
35 uint16_t stock_locate;
36 uint16_t tracking_number;
37 uint64_t timestamp;
39};
40
69
78 char message_type = 'H';
79 uint16_t stock_locate;
80 uint16_t tracking_number;
81 uint64_t timestamp;
82 char stock[8];
84 char reserved;
85 char reason[4];
86};
87
95 char message_type = 'Y';
96 uint16_t stock_locate;
97 uint16_t tracking_number;
98 uint64_t timestamp;
99 char stock[8];
101};
102
120
131 char message_type = 'V';
132 uint16_t stock_locate;
134 uint64_t timestamp;
135 uint64_t level1;
136 uint64_t level2;
137 uint64_t level3;
138};
139
146 char message_type = 'W';
147 uint16_t stock_locate;
149 uint64_t timestamp;
151};
152
169
186
203
212 char message_type = 'A';
213 uint16_t stock_locate;
215 uint64_t timestamp;
218 uint32_t shares;
219 char stock[8];
220 uint32_t price;
221};
222
241
258
277
293
306
324
334 char message_type = 'P';
335 uint16_t stock_locate;
337 uint64_t timestamp;
340 uint32_t shares;
341 char stock[8];
342 uint32_t price;
343 uint64_t match_number;
344};
345
353 char message_type = 'Q';
354 uint16_t stock_locate;
356 uint64_t timestamp;
357 uint64_t shares;
358 char stock[8];
359 uint32_t cross_price;
360 uint64_t match_number;
362};
363
371 char message_type = 'B';
372 uint16_t stock_locate;
374 uint64_t timestamp;
375 uint64_t match_number;
376};
377
401
416
438
439// RESTORE DEFAULT PADDING
440#pragma pack(pop)
441
460using Message = std::variant<
484
485constexpr int STOCK_LEN = 8;
486constexpr double PRICE_DIVISOR = 10000.0;
487constexpr double MWCB_PRICE_DIVISOR = 1.0E8;
488
495inline auto to_string(const char* source, size_t size) -> std::string {
496 size_t len = size;
497 while (len > 0 && (source[len - 1] == ' ' || source[len - 1] == '\0')) {
498 len--;
499 }
500 return std::string {source, len};
501}
502
513auto print_impl(std::ostream& out, const SystemEventMessage& msg) -> void;
514auto print_impl(std::ostream& out, const StockDirectoryMessage& msg) -> void;
515auto print_impl(std::ostream& out, const StockTradingActionMessage& msg) -> void;
516auto print_impl(std::ostream& out, const RegSHOMessage& msg) -> void;
517auto print_impl(std::ostream& out, const MarketParticipantPositionMessage& msg) -> void;
518auto print_impl(std::ostream& out, const MWCBDeclineLevelMessage& msg) -> void;
519auto print_impl(std::ostream& out, const MWCBStatusMessage& msg) -> void;
520auto print_impl(std::ostream& out, const IPOQuotingPeriodUpdateMessage& msg) -> void;
521auto print_impl(std::ostream& out, const LULDAuctionCollarMessage& msg) -> void;
522auto print_impl(std::ostream& out, const OperationalHaltMessage& msg) -> void;
523auto print_impl(std::ostream& out, const AddOrderMessage& msg) -> void;
524auto print_impl(std::ostream& out, const AddOrderMPIDAttributionMessage& msg) -> void;
525auto print_impl(std::ostream& out, const OrderExecutedMessage& msg) -> void;
526auto print_impl(std::ostream& out, const OrderExecutedWithPriceMessage& msg) -> void;
527auto print_impl(std::ostream& out, const OrderCancelMessage& msg) -> void;
528auto print_impl(std::ostream& out, const OrderDeleteMessage& msg) -> void;
529auto print_impl(std::ostream& out, const OrderReplaceMessage& msg) -> void;
530auto print_impl(std::ostream& out, const NonCrossTradeMessage& msg) -> void;
531auto print_impl(std::ostream& out, const CrossTradeMessage& msg) -> void;
532auto print_impl(std::ostream& out, const BrokenTradeMessage& msg) -> void;
533auto print_impl(std::ostream& out, const NOIIMessage& msg) -> void;
534auto print_impl(std::ostream& out, const RetailPriceImprovementIndicatorMessage& msg) -> void;
535auto print_impl(std::ostream& out, const DLCRMessage& msg) -> void;
536
543auto print_message(std::ostream& out, const Message& msg) -> void;
544
550auto operator<<(std::ostream& out, const Message& msg) -> std::ostream&;
551
552} // namespace itch
constexpr int STOCK_LEN
Definition messages.hpp:485
constexpr double PRICE_DIVISOR
Definition messages.hpp:486
std::variant< SystemEventMessage, StockDirectoryMessage, StockTradingActionMessage, RegSHOMessage, MarketParticipantPositionMessage, MWCBDeclineLevelMessage, MWCBStatusMessage, IPOQuotingPeriodUpdateMessage, LULDAuctionCollarMessage, OperationalHaltMessage, AddOrderMessage, AddOrderMPIDAttributionMessage, OrderExecutedMessage, OrderExecutedWithPriceMessage, OrderCancelMessage, OrderDeleteMessage, OrderReplaceMessage, NonCrossTradeMessage, CrossTradeMessage, BrokenTradeMessage, NOIIMessage, RetailPriceImprovementIndicatorMessage, DLCRMessage > Message
A variant able to hold any one of the ITCH 5.0 message structs.
Definition messages.hpp:483
auto print_message(std::ostream &out, const Message &msg) -> void
Dispatches to the print_impl overload matching the active alternative of msg and writes its formatted...
Definition messages.cpp:173
auto operator<<(std::ostream &out, const Message &msg) -> std::ostream &
Streams a formatted representation of msg to out.
Definition messages.cpp:177
auto to_string(const char *source, size_t size) -> std::string
Converts a fixed-width character array to a string, trimming trailing spaces and NUL characters.
Definition messages.hpp:495
constexpr double MWCB_PRICE_DIVISOR
Definition messages.hpp:487
auto print_impl(std::ostream &out, const SystemEventMessage &msg) -> void
Per-message-type stream formatter family, used internally by print_message to dispatch to the correct...
Definition messages.cpp:5
Add Order, With MPID Attribution (F): like Add Order, but attributed to a market participant.
Definition messages.hpp:229
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:231
char buy_sell_indicator
'B' buy, 'S' sell.
Definition messages.hpp:235
uint32_t shares
Displayed share quantity.
Definition messages.hpp:236
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:237
uint64_t order_reference_number
Day-unique reference number for the order.
Definition messages.hpp:234
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:233
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:232
uint32_t price
Display price (4 implied decimals).
Definition messages.hpp:238
char attribution[4]
Market participant identifier (MPID).
Definition messages.hpp:239
Add Order, No MPID Attribution (A): a new displayable order has been accepted and placed on the book.
Definition messages.hpp:211
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:214
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:213
uint64_t order_reference_number
Day-unique reference number for the order.
Definition messages.hpp:216
uint32_t shares
Displayed share quantity.
Definition messages.hpp:218
char message_type
Always 'A'.
Definition messages.hpp:212
uint32_t price
Display price (4 implied decimals).
Definition messages.hpp:220
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:215
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:219
char buy_sell_indicator
'B' buy, 'S' sell.
Definition messages.hpp:217
Broken Trade (B): a previously disseminated execution has been broken and should be removed from any ...
Definition messages.hpp:370
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:372
char message_type
Always 'B'.
Definition messages.hpp:371
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:374
uint64_t match_number
Match number of the execution being broken.
Definition messages.hpp:375
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:373
Cross Trade (Q): the result of a cross (opening, closing, halt/IPO cross) for a security.
Definition messages.hpp:352
char cross_type
'O' open, 'C' close, 'H' halt/IPO, 'I' intraday.
Definition messages.hpp:361
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:354
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:355
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:356
uint64_t shares
Number of shares matched in the cross.
Definition messages.hpp:357
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:358
uint64_t match_number
Day-unique match number for the cross.
Definition messages.hpp:360
uint32_t cross_price
Price at which the cross executed (4 decimals).
Definition messages.hpp:359
char message_type
Always 'Q'.
Definition messages.hpp:353
Direct Listing with Capital Raise Price Discovery (O): price-discovery data for a Direct Listing with...
Definition messages.hpp:424
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:427
uint64_t near_execution_time
Time of the anticipated cross (ns past midnight).
Definition messages.hpp:434
uint32_t minimum_allowable_price
Lowest allowable cross price (4 decimals).
Definition messages.hpp:431
char open_eligibility_status
Whether the security is eligible to open.
Definition messages.hpp:430
uint32_t lower_price_range_collar
Lower price range collar (4 decimals).
Definition messages.hpp:435
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:429
uint32_t near_execution_price
Anticipated cross price (4 decimals).
Definition messages.hpp:433
uint32_t maximum_allowable_price
Highest allowable cross price (4 decimals).
Definition messages.hpp:432
uint32_t upper_price_range_collar
Upper price range collar (4 decimals).
Definition messages.hpp:436
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:428
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:426
char message_type
Always 'O'.
Definition messages.hpp:425
IPO Quoting Period Update (K): the anticipated IPO quotation release time and price for a security.
Definition messages.hpp:159
char ipo_quotation_release_qualifier
'A' anticipated, 'C' cancelled/postponed.
Definition messages.hpp:166
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:163
uint32_t ipo_price
IPO price (4 implied decimals).
Definition messages.hpp:167
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:162
uint32_t ipo_quotation_release_time
Seconds past midnight of the anticipated release.
Definition messages.hpp:165
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:164
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:161
LULD Auction Collar (J): the auction collar thresholds for a security in a Limit-Up Limit-Down tradin...
Definition messages.hpp:175
uint32_t auction_collar_extension
Number of collar extensions so far.
Definition messages.hpp:184
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:179
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:178
uint32_t lower_auction_collar_price
Lower auction collar price (4 decimals).
Definition messages.hpp:183
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:177
uint32_t auction_collar_reference_price
Reference price for the collars (4 decimals).
Definition messages.hpp:181
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:180
uint32_t upper_auction_collar_price
Upper auction collar price (4 decimals).
Definition messages.hpp:182
MWCB Decline Level (V): the Market-Wide Circuit Breaker breach points for the day.
Definition messages.hpp:130
uint16_t stock_locate
Locate code; 0 for this market-wide message.
Definition messages.hpp:132
uint64_t level2
Level 2 (13%) breach value, 8 implied decimals.
Definition messages.hpp:136
uint64_t level1
Level 1 (5%) breach value, 8 implied decimals.
Definition messages.hpp:135
uint64_t level3
Level 3 (20%) breach value, 8 implied decimals.
Definition messages.hpp:137
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:133
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:134
MWCB Status (W): notification that a Market-Wide Circuit Breaker level has been breached.
Definition messages.hpp:145
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:149
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:148
uint16_t stock_locate
Locate code; 0 for this market-wide message.
Definition messages.hpp:147
char message_type
Always 'W'.
Definition messages.hpp:146
char breached_level
'1', '2', or '3' for the level breached.
Definition messages.hpp:150
Market Participant Position (L): a market participant's (market maker's) status in a security.
Definition messages.hpp:109
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:115
char primary_market_maker
'Y' if the primary market maker, else 'N'.
Definition messages.hpp:116
char market_maker_mode
Quotation mode (see indicators::MARKET_MAKER_MODE).
Definition messages.hpp:117
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:113
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:112
char mpid[4]
Market participant identifier.
Definition messages.hpp:114
char market_participant_state
State (see indicators::MARKET_PARTICIPANT_STATE).
Definition messages.hpp:118
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:111
Net Order Imbalance Indicator (I): the imbalance and price-discovery data disseminated during the ope...
Definition messages.hpp:385
uint64_t imbalance_shares
Shares not paired (the imbalance).
Definition messages.hpp:391
char imbalance_direction
'B' buy, 'S' sell, 'N' none, 'O' insufficient, 'P' paused.
Definition messages.hpp:392
char cross_type
'O' open, 'C' close, 'H' halt/IPO cross.
Definition messages.hpp:397
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:393
uint32_t current_reference_price
Price the cross would occur at now (4 decimals).
Definition messages.hpp:396
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:389
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:388
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:387
char price_variation_indicator
Variation band (see indicators::PRICE_VARIATION_INDICATOR).
Definition messages.hpp:399
char message_type
Always 'I'.
Definition messages.hpp:386
uint32_t far_price
Cross price using only eligible interest (4 decimals).
Definition messages.hpp:394
uint32_t near_price
Cross price using all interest (4 decimals).
Definition messages.hpp:395
uint64_t paired_shares
Shares paired at the current reference price.
Definition messages.hpp:390
Trade, Non-Cross (P): an execution of a non-displayable order.
Definition messages.hpp:333
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:335
uint32_t shares
Number of shares traded.
Definition messages.hpp:340
uint64_t order_reference_number
Reference number of the non-displayed order.
Definition messages.hpp:338
uint32_t price
Trade price (4 implied decimals).
Definition messages.hpp:342
char buy_sell_indicator
'B' buy, 'S' sell.
Definition messages.hpp:339
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:337
char message_type
Always 'P'.
Definition messages.hpp:334
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:341
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:336
uint64_t match_number
Day-unique match number for the trade.
Definition messages.hpp:343
Operational Halt (h): an operational halt or resumption for a security on a specific market center.
Definition messages.hpp:194
char message_type
Always 'h'.
Definition messages.hpp:195
char operational_halt_action
'H' halted, 'T' resumed.
Definition messages.hpp:201
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:198
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:196
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:199
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:197
char market_code
'Q' Nasdaq, 'B' BX, 'X' PSX.
Definition messages.hpp:200
Order Cancel (X): a partial cancellation reduced the shares of a resting order.
Definition messages.hpp:285
char message_type
Always 'X'.
Definition messages.hpp:286
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:288
uint32_t cancelled_shares
Number of shares cancelled.
Definition messages.hpp:291
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:289
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:287
uint64_t order_reference_number
Reference number of the cancelled order.
Definition messages.hpp:290
Order Delete (D): a resting order was cancelled in its entirety and removed from the book.
Definition messages.hpp:299
uint64_t order_reference_number
Reference number of the deleted order.
Definition messages.hpp:304
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:302
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:301
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:303
char message_type
Always 'D'.
Definition messages.hpp:300
Order Executed (E): a resting order was executed in whole or in part at its display price.
Definition messages.hpp:249
uint64_t match_number
Day-unique match number for the execution.
Definition messages.hpp:256
char message_type
Always 'E'.
Definition messages.hpp:250
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:251
uint32_t executed_shares
Number of shares executed.
Definition messages.hpp:255
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:253
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:252
uint64_t order_reference_number
Reference number of the executed order.
Definition messages.hpp:254
Order Executed With Price (C): a resting order was executed at a price different from its display pri...
Definition messages.hpp:266
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:268
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:269
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:270
uint64_t match_number
Day-unique match number for the execution.
Definition messages.hpp:273
char printable
'Y' if the trade is printable to the tape, else 'N'.
Definition messages.hpp:274
uint32_t execution_price
Price at which the order executed (4 decimals).
Definition messages.hpp:275
uint32_t executed_shares
Number of shares executed.
Definition messages.hpp:272
uint64_t order_reference_number
Reference number of the executed order.
Definition messages.hpp:271
Order Replace (U): a resting order was replaced with a new order at a new reference number,...
Definition messages.hpp:314
uint64_t original_order_reference_number
Reference number being replaced.
Definition messages.hpp:319
uint32_t shares
New displayed share quantity.
Definition messages.hpp:321
char message_type
Always 'U'.
Definition messages.hpp:315
uint32_t price
New display price (4 implied decimals).
Definition messages.hpp:322
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:317
uint64_t new_order_reference_number
New reference number for the order.
Definition messages.hpp:320
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:318
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:316
Reg SHO Short Sale Price Test Restriction (Y): the Reg SHO short-sale restriction state for a securit...
Definition messages.hpp:94
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:97
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:98
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:99
char reg_sho_action
'0' no restriction, '1' restriction in effect, '2' remains.
Definition messages.hpp:100
char message_type
Always 'Y'.
Definition messages.hpp:95
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:96
Retail Price Improvement Indicator (N): the presence of retail price improvement interest on the bid,...
Definition messages.hpp:408
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:413
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:412
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:411
char interest_flag
'B' bid, 'A' ask, 'C' both, 'N' none.
Definition messages.hpp:414
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:410
Stock Directory (R): the trading and listing reference data for a security, disseminated at the start...
Definition messages.hpp:49
char etp_flag
'Y' if an exchange-traded product, else 'N'.
Definition messages.hpp:65
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:53
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:54
char issue_classification
Security class (see indicators::ISSUE_CLASSIFICATION_VALUES).
Definition messages.hpp:59
char message_type
Always 'R'.
Definition messages.hpp:50
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:52
uint32_t etp_leverage_factor
Leverage factor of the ETP (if applicable).
Definition messages.hpp:66
char issue_sub_type[2]
Security sub-type (see indicators::ISSUE_SUB_TYPE_VALUES).
Definition messages.hpp:60
char short_sale_threshold_indicator
Reg SHO threshold: 'Y','N',' '.
Definition messages.hpp:62
char ipo_flag
'Y' if a new IPO, 'N' if not, ' ' if not available.
Definition messages.hpp:63
char authenticity
'P' production / 'T' test security.
Definition messages.hpp:61
char financial_status_indicator
Financial status of the issuer.
Definition messages.hpp:56
char market_category
Listing market (see indicators::MARKET_CATEGORY).
Definition messages.hpp:55
char inverse_indicator
'Y' if the ETP is an inverse product.
Definition messages.hpp:67
char luld_ref
LULD reference price tier.
Definition messages.hpp:64
char round_lots_only
'Y' if only round lots may be entered, else 'N'.
Definition messages.hpp:58
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:51
uint32_t round_lot_size
Number of shares in a round lot.
Definition messages.hpp:57
Stock Trading Action (H): a change in the trading status of a security (halted, paused,...
Definition messages.hpp:77
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:81
char reason[4]
Trading-action reason code (see indicators::TRADING_ACTION_REASON_CODES).
Definition messages.hpp:85
char trading_state
'H','P','Q','T' (see indicators::TRADING_STATES).
Definition messages.hpp:83
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:80
uint16_t stock_locate
Locate code identifying the security.
Definition messages.hpp:79
char stock[8]
Stock symbol, right padded with spaces.
Definition messages.hpp:82
System Event (S): signals a market or data-feed handler event.
Definition messages.hpp:33
char event_code
'O','S','Q','M','E','C' (see indicators::SYSTEM_EVENT_CODES).
Definition messages.hpp:38
uint16_t tracking_number
Nasdaq internal tracking number.
Definition messages.hpp:36
uint64_t timestamp
Nanoseconds past midnight.
Definition messages.hpp:37
char message_type
Always 'S'.
Definition messages.hpp:34
uint16_t stock_locate
Locate code; 0 for system-wide events.
Definition messages.hpp:35