CommanDefine.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #pragma once
  2. typedef enum _Cmd_Echo {
  3. CMD_ECHO_IGNORE = -1,
  4. CMD_ECHO_NOTARGET,
  5. CMD_ECHO_NG,
  6. CMD_ECHO_OK,
  7. CMD_ECHO_MAX
  8. }CMD_ECHO;
  9. typedef enum _Packet_Cmd {
  10. PACKET_CMD_NONE = -1,
  11. PACKET_CMD_OPEN,
  12. PACKET_CMD_CLOSE,
  13. PACKET_CMD_GET,
  14. PACKET_CMD_UPDATE,
  15. PACKET_CMD_ADD,
  16. PACKET_CMD_DEL,
  17. PACKET_CMD_EXE,
  18. PACKET_CMD_DATA,
  19. PACKET_CMD_MSG,
  20. PACKET_CMD_ONLINE,//设备掉线后重新注册到Root
  21. PACKET_CMD_MAX
  22. }PACKET_CMD;
  23. typedef enum _Packet_Type {
  24. PACKET_TYPE_NONE = -1,
  25. PACKET_TYPE_REQ,
  26. PACKET_TYPE_RES,
  27. PACKET_TYPE_NOTIFY,
  28. PACKET_TYPE_MAX
  29. }PACKET_TYPE;
  30. typedef enum _Dios_File_Flags {
  31. IMAGE_FH = 1,
  32. ACTION = 2,
  33. NOTIFY_MSG = 4,
  34. NOTIFY_UPDATE = 8,
  35. NOTIFY_DATA = 16,
  36. NOTIFY_ACTION = 32,
  37. ALL_ACCESS = 64 - 1,
  38. }DIOS_FILE_FLAGS;
  39. typedef enum _Action_Sync_Mode {
  40. ACTION_SYNC,
  41. ACTION_ASYNC,
  42. }ACTION_SYNC_MODE;
  43. #define DIOS_PACK_IDX ("IDX")
  44. #define DIOS_PACK_TYPE ("TYPE")
  45. #define DIOS_PACK_TYPE_REQ ("REQUEST")
  46. #define DIOS_PACK_TYPE_RES ("RESPONSE")
  47. #define DIOS_PACK_TYPE_NOTIFY ("NOTIFY")
  48. #define DIOS_PACK_CMD ("CMD")
  49. //#define DIOS_PACK_CMD_GET ("GET")
  50. //#define DIOS_PACK_CMD_UPDATE ("UPDATE")
  51. //#define DIOS_PACK_CMD_ADD ("ADD")
  52. //#define DIOS_PACK_CMD_DEL ("DEL")
  53. //#define DIOS_PACK_CMD_EXE ("EXE")
  54. //#define DIOS_PACK_CMD_DATA ("DATA")
  55. //#define DIOS_PACK_CMD_OPEN ("OPEN")
  56. //#define DIOS_PACK_CMD_CLOSE ("CLOSE")
  57. #define DIOS_PACKET_SYNC ("SYNC")
  58. #define DIOS_PACK_HANDLE ("HANDLE")
  59. #define DIOS_PACK_HANDLE_ROUTE ("ROUTE")
  60. #define DIOS_PACK_HANDLE_FLAGS ("FLAGS")
  61. #define DIOS_PACK_HANDLE_LANG ("LANG")
  62. #define DIOS_PACKET_HANDLE_KEY ("HANDLEID")
  63. #define DIOS_PACK_HANDLE_OWNERID ("OWNERID")
  64. #define DIOS_PACK_HANDLE_DEVID ("DEVID")
  65. #define DIOS_PACK_TARGET_BUSID ("EBUSID")
  66. #define DIOS_PACK_TARGET_MACHINEID ("MACHINEID")
  67. #define DIOS_PACK_TARGET_PROCID ("PROCID")
  68. #define DIOS_PACK_TARGET_ADDR ("ADDR")
  69. #define DIOS_PACK_KEY ("KEY")
  70. #define DIOS_PACK_ACTION ("Action")
  71. #define DIOS_PACK_CONTEXT ("CONTEXT")
  72. #define DIOS_PACK_RETURN ("RET")
  73. #define DIOS_PACK_CODE ("CODE")
  74. #define DIOS_PACK_MSG ("MSG")
  75. //因为路由要发往Local or Eth,
  76. //OPEN命令除了TargetBusID以外,没有其他信息,导致无法确定是发给哪个方向.
  77. //所以额外添加此ROUTE Flag到文件句柄中
  78. //这个选项只在内部跟不同Channel通信的时候用,应用的Client应该缺省就是Any.
  79. //框架层截断应用层的包,并由框架层分析并判断发给谁.
  80. //any:路由方向是先发往本地,如果本地无目的地,再次发往Eth.
  81. //Local:路由方向就是本地,同理,Req&Res&Notify应该都是本地.
  82. //Eth:路由方向就是远程机器,其他同上.
  83. typedef enum _Dios_Packet_Route {
  84. DIOS_PACKET_ROUTE_NOTARGET = -1,//can't send
  85. DIOS_PACKET_ROUTE_ANY,//to any possible direction
  86. DIOS_PACKET_ROUTE_LOCAL,//only local machine
  87. DIOS_PACKET_ROUTE_ETH,//only remote machine
  88. DIOS_PACKET_ROUTE_MAX
  89. }DIOS_PACKET_ROUTE;