libcfix.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. // 创建App实例
  32. LIBCFIX_API void* SaxoCreateApp();
  33. // 添加股票编码
  34. LIBCFIX_API void SaxoAddSymbol(void* app, const char* id, const char* symbol);
  35. // 运行APP fname是fix config文件名
  36. LIBCFIX_API void SaxoAppRun(void* app, const char* fname);
  37. // 注册回调函数 当获取行情时回调
  38. typedef void(*fnSaxoOnMdMessage)(TickFull* tick, void* ctx);
  39. LIBCFIX_API void SaxoReg_OnMdMessage(void* app, fnSaxoOnMdMessage fn, void* ctx);
  40. #ifdef __cplusplus
  41. }
  42. #endif