libcfix.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // libcfix.h
  2. // libcfix是把方正FIX的C++接口转换为C接口, 这样方便其他语言(比如go, python, java等)调用
  3. // 同时对原有的接口进行封装和简化, 但不影响原有功能. 达到使用简单, 功能完全的目的。
  4. // Libcfix当前只实现获取行情的功能
  5. // 本文件定义了libcfix的导出函数
  6. #pragma once
  7. #ifdef _WINDOWS
  8. #ifdef LIBCFIX_EXPORTS
  9. #define LIBCFIX_API __declspec(dllexport)
  10. #else
  11. #define LIBCFIX_API __declspec(dllimport)
  12. #endif
  13. #else
  14. #define LIBCFIX_API
  15. #endif
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #define MAX_BID_ASK_COUNT 25
  20. typedef struct TickFull {
  21. double AskPrice[MAX_BID_ASK_COUNT];
  22. double BidPrice[MAX_BID_ASK_COUNT];
  23. double AskVolume[MAX_BID_ASK_COUNT];
  24. double BidVolume[MAX_BID_ASK_COUNT];
  25. char Symbol[8];
  26. int Time;
  27. int Millisecond;
  28. int AskCount;
  29. int BidCount;
  30. } TickFull;
  31. /*
  32. typedef struct StockInfo {
  33. char Symbol[15];
  34. int Position ;
  35. char SecurityExchange[10];
  36. }StockInfo;
  37. */
  38. // 创建App实例
  39. LIBCFIX_API void* CreateApp(const char* user, const char* password);
  40. // 添加股票编码
  41. LIBCFIX_API void AddSymbol(void* app, const char* symbol, const char* exchange);
  42. // 运行APP fname是fix config文件名
  43. LIBCFIX_API void AppRun(void* app, const char* fname);
  44. // 注册回调函数 当获取行情时回调
  45. typedef void (*fnOnMdMessage)(TickFull* tick, void* ctx);
  46. LIBCFIX_API void Reg_OnMdMessage(void* app, fnOnMdMessage fn, void* ctx);
  47. #ifdef __cplusplus
  48. }
  49. #endif