dxFeed C API  6.0.1
dxFeed C API library intended to provide market data access for DX clients
EventData.h
Go to the documentation of this file.
1 /*
2  * The contents of this file are subject to the Mozilla Public License Version
3  * 1.1 (the "License"); you may not use this file except in compliance with
4  * the License. You may obtain a copy of the License at
5  * http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
9  * for the specific language governing rights and limitations under the
10  * License.
11  *
12  * The Initial Developer of the Original Code is dxFeed Solutions DE GmbH.
13  * Portions created by the Initial Developer are Copyright (C) 2010
14  * the Initial Developer. All Rights Reserved.
15  *
16  * Contributor(s):
17  *
18  */
19 
20 /*
21  * Here we have the data structures passed along with symbol events
22  */
23 
29 #ifndef EVENT_DATA_H_INCLUDED
30 #define EVENT_DATA_H_INCLUDED
31 
32 #include "RecordData.h"
33 #include "DXTypes.h"
34 #include <limits.h>
35 #include <math.h>
36 
37 #ifndef OUT
38  #define OUT
39 #endif /* OUT */
40 
41 /* -------------------------------------------------------------------------- */
42 /*
43  * Event type constants
44  */
45 /* -------------------------------------------------------------------------- */
46 
48 typedef enum {
49  dx_eid_begin = 0u,
50  dx_eid_trade = dx_eid_begin,
51  dx_eid_quote,
52  dx_eid_summary,
53  dx_eid_profile,
54  dx_eid_order,
55  dx_eid_time_and_sale,
56  dx_eid_candle,
57  dx_eid_trade_eth,
58  dx_eid_spread_order,
59  dx_eid_greeks,
60  dx_eid_theo_price,
61  dx_eid_underlying,
62  dx_eid_series,
63  dx_eid_configuration,
64 
65  /* add new event id above this line */
66 
67  dx_eid_count,
68  dx_eid_invalid
70 
72 #define DXF_ET_TRADE (1u << (unsigned)dx_eid_trade)
73 #define DXF_ET_QUOTE (1u << (unsigned)dx_eid_quote)
75 #define DXF_ET_SUMMARY (1u << (unsigned)dx_eid_summary)
77 #define DXF_ET_PROFILE (1u << (unsigned)dx_eid_profile)
79 #define DXF_ET_ORDER (1u << (unsigned)dx_eid_order)
81 #define DXF_ET_TIME_AND_SALE (1u << (unsigned)dx_eid_time_and_sale)
83 #define DXF_ET_CANDLE (1u << (unsigned)dx_eid_candle)
85 #define DXF_ET_TRADE_ETH (1u << (unsigned)dx_eid_trade_eth)
87 #define DXF_ET_SPREAD_ORDER (1u << (unsigned)dx_eid_spread_order)
89 #define DXF_ET_GREEKS (1u << (unsigned)dx_eid_greeks)
91 #define DXF_ET_THEO_PRICE (1u << (unsigned)dx_eid_theo_price)
93 #define DXF_ET_UNDERLYING (1u << (unsigned)dx_eid_underlying)
95 #define DXF_ET_SERIES (1u << (unsigned)dx_eid_series)
97 #define DXF_ET_CONFIGURATION (1u << (unsigned)dx_eid_configuration)
99 #define DXF_ET_UNUSED (~((1u << (unsigned)dx_eid_count) - 1u))
100 
102 #define DX_EVENT_BIT_MASK(event_id) (1u << (unsigned)event_id)
103 
107 typedef enum {
126 
127  dx_esf_force_enum_unsigned = UINT_MAX
129 
130 // The length of record suffix including including the terminating null character
131 #define DXF_RECORD_SUFFIX_SIZE 5
132 
133 /* -------------------------------------------------------------------------- */
134 /*
135 * Source suffix array
136 */
137 /* -------------------------------------------------------------------------- */
138 
140 typedef struct {
141  dxf_char_t suffix[DXF_RECORD_SUFFIX_SIZE];
142 } dx_suffix_t;
143 
145 typedef struct {
146  dx_suffix_t *elements;
147  size_t size;
148  size_t capacity;
150 
153 
154 /* -------------------------------------------------------------------------- */
155 /*
156  * Event data structures and support
157  */
158 /* -------------------------------------------------------------------------- */
159 
161 typedef void* dxf_event_data_t;
162 typedef const void* dxf_const_event_data_t;
163 
165 typedef enum {
166  dxf_osc_composite = 0,
167  dxf_osc_regional = 1,
168  dxf_osc_aggregate = 2,
169  dxf_osc_order = 3
171 
172 /* Trade & Trade ETH -------------------------------------------------------- */
173 
175 typedef enum {
176  dxf_dir_undefined = 0,
177  dxf_dir_down = 1,
178  dxf_dir_zero_down = 2,
179  dxf_dir_zero = 3,
180  dxf_dir_zero_up = 4,
181  dxf_dir_up = 5
183 
185 typedef struct {
186  dxf_long_t time;
187  dxf_int_t sequence;
188  dxf_int_t time_nanos;
189  dxf_char_t exchange_code;
190  dxf_double_t price;
191  dxf_int_t size;
192  /* This field is absent in TradeETH */
193  dxf_int_t tick;
194  /* This field is absent in TradeETH */
195  dxf_double_t change;
196  dxf_int_t raw_flags;
197  dxf_double_t day_volume;
198  dxf_double_t day_turnover;
199  dxf_direction_t direction;
200  dxf_bool_t is_eth;
201  dxf_order_scope_t scope;
202 } dxf_trade_t;
203 
204 /* Quote -------------------------------------------------------------------- */
205 
207 typedef struct {
208  dxf_long_t time;
209  dxf_int_t sequence;
210  dxf_int_t time_nanos;
211  dxf_long_t bid_time;
212  dxf_char_t bid_exchange_code;
213  dxf_double_t bid_price;
214  dxf_int_t bid_size;
215  dxf_long_t ask_time;
216  dxf_char_t ask_exchange_code;
217  dxf_double_t ask_price;
218  dxf_int_t ask_size;
219  dxf_order_scope_t scope;
220 } dxf_quote_t;
221 
222 /* Summary ------------------------------------------------------------------ */
223 
225 typedef enum {
226  dxf_pt_regular = 0,
227  dxf_pt_indicative = 1,
228  dxf_pt_preliminary = 2,
229  dxf_pt_final = 3
231 
233 typedef struct {
234  dxf_dayid_t day_id;
235  dxf_double_t day_open_price;
236  dxf_double_t day_high_price;
237  dxf_double_t day_low_price;
238  dxf_double_t day_close_price;
239  dxf_dayid_t prev_day_id;
240  dxf_double_t prev_day_close_price;
241  dxf_double_t prev_day_volume;
242  dxf_int_t open_interest;
243  dxf_int_t raw_flags;
244  dxf_char_t exchange_code;
245  dxf_price_type_t day_close_price_type;
246  dxf_price_type_t prev_day_close_price_type;
247  dxf_order_scope_t scope;
248 } dxf_summary_t;
249 
250 /* Profile ------------------------------------------------------------------ */
251 
253 typedef enum {
254  dxf_ts_undefined = 0,
255  dxf_ts_halted = 1,
256  dxf_ts_active = 2
258 
260 typedef enum {
261  dxf_ssr_undefined = 0,
262  dxf_ssr_active = 1,
263  dxf_ssr_inactive = 2
265 
267 typedef struct {
268  dxf_double_t beta;
269  dxf_double_t eps;
270  dxf_int_t div_freq;
271  dxf_double_t exd_div_amount;
272  dxf_dayid_t exd_div_date;
273  dxf_double_t _52_high_price;
274  dxf_double_t _52_low_price;
275  dxf_double_t shares;
276  dxf_double_t free_float;
277  dxf_double_t high_limit_price;
278  dxf_double_t low_limit_price;
279  dxf_long_t halt_start_time;
280  dxf_long_t halt_end_time;
281  dxf_int_t raw_flags;
282  dxf_const_string_t description;
283  dxf_const_string_t status_reason;
284  dxf_trading_status_t trading_status;
286 } dxf_profile_t;
287 
288 /* Order & Spread Order ----------------------------------------------------- */
289 
291 typedef enum {
292  dxf_osd_undefined = 0,
293  dxf_osd_buy = 1,
294  dxf_osd_sell = 2
296 
298 typedef struct {
299  dxf_event_flags_t event_flags;
300  dxf_long_t index;
301  dxf_long_t time;
302  dxf_int_t time_nanos;
303  dxf_int_t sequence;
304  dxf_double_t price;
305  dxf_int_t size;
306  dxf_int_t count;
307  dxf_order_scope_t scope;
308  dxf_order_side_t side;
309  dxf_char_t exchange_code;
310  dxf_char_t source[DXF_RECORD_SUFFIX_SIZE];
311  union {
312  dxf_const_string_t market_maker;
313  dxf_const_string_t spread_symbol;
314  };
315 } dxf_order_t;
316 
317 /* Time And Sale ------------------------------------------------------------ */
318 
320 typedef enum {
321  dxf_tnst_new = 0,
322  dxf_tnst_correction = 1,
323  dxf_tnst_cancel = 2
325 
327 typedef struct {
328  dxf_event_flags_t event_flags;
329  dxf_long_t index;
330  dxf_long_t time;
331  dxf_char_t exchange_code;
332  dxf_double_t price;
333  dxf_int_t size;
334  dxf_double_t bid_price;
335  dxf_double_t ask_price;
336  dxf_const_string_t exchange_sale_conditions;
337  dxf_int_t raw_flags;
338  dxf_const_string_t buyer;
339  dxf_const_string_t seller;
340  dxf_order_side_t side;
341  dxf_tns_type_t type;
342  dxf_bool_t is_valid_tick;
343  dxf_bool_t is_eth_trade;
344  dxf_char_t trade_through_exempt;
345  dxf_bool_t is_spread_leg;
346  dxf_order_scope_t scope;
348 
349 /* Candle ------------------------------------------------------------------- */
351 typedef struct {
352  dxf_event_flags_t event_flags;
353  dxf_long_t index;
354  dxf_long_t time;
355  dxf_int_t sequence;
356  dxf_double_t count;
357  dxf_double_t open;
358  dxf_double_t high;
359  dxf_double_t low;
360  dxf_double_t close;
361  dxf_double_t volume;
362  dxf_double_t vwap;
363  dxf_double_t bid_volume;
364  dxf_double_t ask_volume;
365  dxf_int_t open_interest;
366  dxf_double_t imp_volatility;
367 } dxf_candle_t;
368 
369 /* Greeks ------------------------------------------------------------------- */
371 typedef struct {
372  dxf_event_flags_t event_flags;
373  dxf_long_t index;
374  dxf_long_t time;
375  dxf_double_t price;
376  dxf_double_t volatility;
377  dxf_double_t delta;
378  dxf_double_t gamma;
379  dxf_double_t theta;
380  dxf_double_t rho;
381  dxf_double_t vega;
382 } dxf_greeks_t;
383 
384 /* TheoPrice ---------------------------------------------------------------- */
385 /* Event and record are the same */
388 
389 /* Underlying --------------------------------------------------------------- */
390 /* Event and record are the same */
393 
394 /* Series ------------------------------------------------------------------- */
396 typedef struct {
397  dxf_event_flags_t event_flags;
398  dxf_long_t index;
399  dxf_long_t time;
400  dxf_int_t sequence;
401  dxf_dayid_t expiration;
402  dxf_double_t volatility;
403  dxf_double_t put_call_ratio;
404  dxf_double_t forward_price;
405  dxf_double_t dividend;
406  dxf_double_t interest;
407 } dxf_series_t;
408 
410 typedef struct {
411  dxf_int_t version;
412  dxf_string_t object;
414 
415 /* -------------------------------------------------------------------------- */
416 /*
417  * Event data constants
418  */
419 /* -------------------------------------------------------------------------- */
420 
421 #ifdef __GNUC__
422 #pragma GCC diagnostic push
423 #pragma GCC diagnostic ignored "-Wunused-variable"
424 #endif
425 
426 static dxf_const_string_t DXF_ORDER_AGGREGATE_BID_STR = L"AGGREGATE_BID";
427 static dxf_const_string_t DXF_ORDER_AGGREGATE_ASK_STR = L"AGGREGATE_ASK";
428 
429 #ifdef __GNUC__
430 #pragma GCC diagnostic pop
431 #endif
432 
433 /* -------------------------------------------------------------------------- */
434 /*
435  * Event candle attributes
436  */
437 /* -------------------------------------------------------------------------- */
438 
439 #define DXF_CANDLE_EXCHANGE_CODE_COMPOSITE_ATTRIBUTE L'\0'
440 #define DXF_CANDLE_EXCHANGE_CODE_ATTRIBUTE_DEFAULT DXF_CANDLE_EXCHANGE_CODE_COMPOSITE_ATTRIBUTE
441 #define DXF_CANDLE_PERIOD_VALUE_ATTRIBUTE_DEFAULT 1.0
442 #define DXF_CANDLE_PRICE_LEVEL_ATTRIBUTE_DEFAULT (NAN)
443 
445 typedef enum {
446  dxf_cpa_last,
447  dxf_cpa_bid,
448  dxf_cpa_ask,
449  dxf_cpa_mark,
450  dxf_cpa_settlement,
451 
452  dxf_cpa_count,
453 
454  dxf_cpa_default = dxf_cpa_last
456 
458 typedef enum {
459  dxf_csa_any,
460  dxf_csa_regular,
461 
462  dxf_csa_count,
463 
464  dxf_csa_default = dxf_csa_any
466 
468 typedef enum {
469  dxf_ctpa_tick,
470  dxf_ctpa_second,
471  dxf_ctpa_minute,
472  dxf_ctpa_hour,
473  dxf_ctpa_day,
474  dxf_ctpa_week,
475  dxf_ctpa_month,
476  dxf_ctpa_optexp,
477  dxf_ctpa_year,
478  dxf_ctpa_volume,
479  dxf_ctpa_price,
480  dxf_ctpa_price_momentum,
481  dxf_ctpa_price_renko,
482 
483  dxf_ctpa_count,
484 
485  dxf_ctpa_default = dxf_ctpa_tick
487 
489 typedef enum {
490  dxf_caa_midnight,
491  dxf_caa_session,
492 
493  dxf_caa_count,
494 
495  dxf_caa_default = dxf_caa_midnight
497 
498 /* -------------------------------------------------------------------------- */
499 /*
500  * Events flag constants
501  */
502 /* -------------------------------------------------------------------------- */
503 
505 typedef enum {
506  dxf_ef_tx_pending = 0x01,
507  dxf_ef_remove_event = 0x02,
508  dxf_ef_snapshot_begin = 0x04,
509  dxf_ef_snapshot_end = 0x08,
510  dxf_ef_snapshot_snip = 0x10,
511  dxf_ef_remove_symbol = 0x20
513 
514 /* -------------------------------------------------------------------------- */
515 /*
516 * Additional event params struct
517 */
518 /* -------------------------------------------------------------------------- */
519 
520 typedef dxf_ulong_t dxf_time_int_field_t;
521 
523 typedef struct {
524  dxf_event_flags_t flags;
525  dxf_time_int_field_t time_int_field;
526  dxf_ulong_t snapshot_key;
528 
529 /* -------------------------------------------------------------------------- */
530 /*
531  * Event listener prototype
532 
533  * event type here is a one-bit mask, not an integer
534  * from dx_eid_begin to dx_eid_count
535  */
536 /* -------------------------------------------------------------------------- */
537 
538 
540 typedef void (*dxf_event_listener_t) (int event_type, dxf_const_string_t symbol_name,
541  const dxf_event_data_t* data, int data_count,
542  void* user_data);
543 
545 typedef void (*dxf_event_listener_v2_t) (int event_type, dxf_const_string_t symbol_name,
546  const dxf_event_data_t* data, int data_count,
547  const dxf_event_params_t* event_params, void* user_data);
548 
549 /* -------------------------------------------------------------------------- */
550 /*
551  * Various event functions
552  */
553 /* -------------------------------------------------------------------------- */
554 
565 
575 int dx_get_event_data_struct_size (int event_id);
576 
586 dx_event_id_t dx_get_event_id_by_bitmask (int event_bitmask);
587 
588 /* -------------------------------------------------------------------------- */
589 /*
590  * Event subscription stuff
591  */
592 /* -------------------------------------------------------------------------- */
593 
595 typedef enum {
596  dx_st_begin = 0,
597 
598  dx_st_ticker = dx_st_begin,
599  dx_st_stream,
600  dx_st_history,
601 
602  /* add new subscription types above this line */
603 
604  dx_st_count
606 
608 typedef struct {
609  dx_record_id_t record_id;
610  dx_subscription_type_t subscription_type;
612 
614 typedef struct {
616  size_t size;
617  size_t capacity;
619 
634  dx_event_subscr_flag subscr_flags, OUT dx_event_subscription_param_list_t* params);
635 
636 /* -------------------------------------------------------------------------- */
637 /*
638 * Snapshot data structs
639 */
640 /* -------------------------------------------------------------------------- */
641 
643 typedef struct {
644  int event_type;
645  dxf_string_t symbol;
646 
647  size_t records_count;
648  const dxf_event_data_t* records;
650 
651 /* -------------------------------------------------------------------------- */
660 /* -------------------------------------------------------------------------- */
661 typedef void(*dxf_snapshot_listener_t) (const dxf_snapshot_data_ptr_t snapshot_data, void* user_data);
662 
663 /* -------------------------------------------------------------------------- */
664 #define DXF_IS_CANDLE_REMOVAL(c) (((c)->event_flags & dxf_ef_remove_event) != 0)
665 #define DXF_IS_ORDER_REMOVAL(o) ((((o)->event_flags & dxf_ef_remove_event) != 0) || ((o)->size == 0))
666 #define DXF_IS_SPREAD_ORDER_REMOVAL(o) ((((o)->event_flags & dxf_ef_remove_event) != 0) || ((o)->size == 0))
667 #define DXF_IS_TIME_AND_SALE_REMOVAL(t) (((t)->event_flags & dxf_ef_remove_event) != 0)
668 #define DXF_IS_GREEKS_REMOVAL(g) (((g)->event_flags & dxf_ef_remove_event) != 0)
669 #define DXF_IS_SERIES_REMOVAL(s) (((s)->event_flags & dxf_ef_remove_event) != 0)
670 
677 typedef void(*dxf_snapshot_inc_listener_t) (const dxf_snapshot_data_ptr_t snapshot_data, int new_snapshot, void* user_data);
678 
679 /* -------------------------------------------------------------------------- */
680 /*
681 * Price Level data structs
682 */
683 /* -------------------------------------------------------------------------- */
685 typedef struct {
686  dxf_double_t price;
687  dxf_long_t size;
688  dxf_long_t time;
690 
692 typedef struct {
693  dxf_const_string_t symbol;
694 
695  size_t bids_count;
696  const dxf_price_level_element_t *bids;
697 
698  size_t asks_count;
699  const dxf_price_level_element_t *asks;
701 
702 /* -------------------------------------------------------------------------- */
715 /* -------------------------------------------------------------------------- */
716 typedef void(*dxf_price_level_book_listener_t) (const dxf_price_level_book_data_ptr_t book, void* user_data);
717 
718 /* -------------------------------------------------------------------------- */
727 /* -------------------------------------------------------------------------- */
728 
729 typedef void(*dxf_regional_quote_listener_t) (dxf_const_string_t symbol, const dxf_quote_t* quotes, int count, void* user_data);
730 
731 /* -------------------------------------------------------------------------- */
732 /*
733  * Event data navigation functions
734  */
735 /* -------------------------------------------------------------------------- */
736 
737 #ifdef __cplusplus
738  extern "C"
739 #endif
740 
750 const dxf_event_data_t dx_get_event_data_item (int event_mask, dxf_const_event_data_t data, size_t index);
751 
752 #endif /* EVENT_DATA_H_INCLUDED */
const dxf_event_data_t dx_get_event_data_item(int event_mask, dxf_const_event_data_t data, size_t index)
Get event data item from event data.
dxf_tns_type_t
Time & sale type.
Definition: EventData.h:320
Used for default subscription.
Definition: EventData.h:109
Used with dx_esf_single_record flag and for dx_eid_order (Order) event.
Definition: EventData.h:113
Trade.
Definition: EventData.h:185
Event params.
Definition: EventData.h:523
Time & sale.
Definition: EventData.h:327
Used for forcing subscription to ticker data.
Definition: EventData.h:121
dx_theo_price_t dxf_theo_price_t
Theo price.
Definition: EventData.h:387
Event subscription param.
Definition: EventData.h:608
void * dxf_connection_t
Connection.
Definition: DXTypes.h:35
dxf_const_string_t dx_event_type_to_string(int event_type)
Converts event type code to its string representation.
dxf_price_type_t
Price type.
Definition: EventData.h:225
dx_underlying_t dxf_underlying_t
Underlying.
Definition: EventData.h:392
int32_t dxf_int_t
Int.
Definition: DXTypes.h:99
void(* dxf_snapshot_inc_listener_t)(const dxf_snapshot_data_ptr_t snapshot_data, int new_snapshot, void *user_data)
Incremental Snapshot listener prototype.
Definition: EventData.h:677
Series.
Definition: EventData.h:396
Used for wildcard ("*") subscription.
Definition: EventData.h:119
int64_t dxf_long_t
Long.
Definition: DXTypes.h:108
Used for regional quotes.
Definition: EventData.h:117
void * dxf_event_data_t
Event data.
Definition: EventData.h:161
void(* dxf_snapshot_listener_t)(const dxf_snapshot_data_ptr_t snapshot_data, void *user_data)
Snapshot listener prototype.
Definition: EventData.h:661
dxf_event_flag
Event flag.
Definition: EventData.h:505
unsigned char dxf_bool_t
Boolean.
Definition: DXTypes.h:80
Used for forcing subscription to history data.
Definition: EventData.h:125
int dx_get_event_data_struct_size(int event_id)
Get event data structure size for given event id.
dx_order_source_array_t * dx_order_source_array_ptr_t
Order source array.
Definition: EventData.h:152
dxf_int_t dx_record_id_t
Record ID.
Definition: RecordData.h:66
dx_event_id_t dx_get_event_id_by_bitmask(int event_bitmask)
Get event id by event bitmask.
Event subscription param list.
Definition: EventData.h:614
dxf_candle_session_attribute_t
Candle session attribute.
Definition: EventData.h:458
Used for forcing subscription to stream data.
Definition: EventData.h:123
dxf_char_t * dxf_string_t
String.
Definition: DXTypes.h:120
Underlying.
Definition: RecordData.h:241
dx_event_subscr_flag
Definition: EventData.h:107
dx_event_id_t
Event ID.
Definition: EventData.h:48
dxf_candle_price_attribute_t
Candle price attribute.
Definition: EventData.h:445
Theo price.
Definition: RecordData.h:229
dxf_order_side_t
Order side.
Definition: EventData.h:291
Profile.
Definition: EventData.h:267
Order source.
Definition: EventData.h:145
Suffix.
Definition: EventData.h:140
Summary.
Definition: EventData.h:233
Used for subscribing on one record only in case of snapshots.
Definition: EventData.h:111
dxf_uint_t dxf_event_flags_t
Event flags.
Definition: DXTypes.h:128
dxf_direction_t
Direction.
Definition: EventData.h:175
Order.
Definition: EventData.h:298
dxf_order_scope_t
Order scope.
Definition: EventData.h:165
dx_subscription_type_t
Subscription type.
Definition: EventData.h:595
wchar_t dxf_char_t
Char.
Definition: DXTypes.h:89
dxf_short_sale_restriction_t
Short sale restriction.
Definition: EventData.h:260
uint64_t dxf_ulong_t
Unsigned long.
Definition: DXTypes.h:111
Candle.
Definition: EventData.h:351
dxf_candle_alignment_attribute_t
Candle alignment attribute.
Definition: EventData.h:489
Quote.
Definition: EventData.h:207
size_t dx_get_event_subscription_params(dxf_connection_t connection, dx_order_source_array_ptr_t order_source, dx_event_id_t event_id, dx_event_subscr_flag subscr_flags, OUT dx_event_subscription_param_list_t *params)
Returns the list of subscription params. Fills records list according to event_id.
dxf_trading_status_t
Trading status.
Definition: EventData.h:253
int32_t dxf_dayid_t
DayId.
Definition: DXTypes.h:117
Price level element.
Definition: EventData.h:685
dxFeed C API types declarations
Greeks.
Definition: EventData.h:371
void(* dxf_event_listener_v2_t)(int event_type, dxf_const_string_t symbol_name, const dxf_event_data_t *data, int data_count, const dxf_event_params_t *event_params, void *user_data)
Event listener prototype v2.
Definition: EventData.h:545
void(* dxf_event_listener_t)(int event_type, dxf_const_string_t symbol_name, const dxf_event_data_t *data, int data_count, void *user_data)
Event listener prototype.
Definition: EventData.h:540
void(* dxf_price_level_book_listener_t)(const dxf_price_level_book_data_ptr_t book, void *user_data)
Price Level listener prototype.
Definition: EventData.h:716
Price level book data.
Definition: EventData.h:692
const dxf_char_t * dxf_const_string_t
Const String.
Definition: DXTypes.h:123
Used for time series subscription.
Definition: EventData.h:115
void(* dxf_regional_quote_listener_t)(dxf_const_string_t symbol, const dxf_quote_t *quotes, int count, void *user_data)
Regional quote listener prototype.
Definition: EventData.h:729
double dxf_double_t
Double.
Definition: DXTypes.h:114
dxFeed C API domain types declarations
Snapshot.
Definition: EventData.h:643
Configuration.
Definition: EventData.h:410
dxf_candle_type_period_attribute_t
Candle type period attribute.
Definition: EventData.h:468