SATProtocol.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef __SAT_PROTOCOL__
  2. #define __SAT_PROTOCOL__
  3. #pragma once
  4. namespace SATProtocol{
  5. //////////////////////////////////////////////////////////////////////////
  6. // 具体协议指令;
  7. enum ProtocolCMD {
  8. // 登录、登出;
  9. CMD_LOGIN = 0,
  10. CMD_LOGOUT,
  11. // 设备;
  12. CMD_ADD_DEVICE,
  13. CMD_DEL_DEVICE,
  14. CMD_QUERY_DEVICES
  15. };
  16. //////////////////////////////////////////////////////////////////////////
  17. // 通信数据声明;
  18. #pragma pack(push)
  19. #pragma pack(1)
  20. // 数据头;
  21. typedef struct _DATAHEADER_ {
  22. // 协议标识符;
  23. byte protocol;
  24. // 当前通信包的长度=header长度+buf长度;
  25. unsigned int len;
  26. // 命令类型;
  27. byte cmd;
  28. }DataHeader, *pDataHeader;
  29. // 请求包
  30. typedef struct _PACKAGE_ {
  31. DataHeader header;
  32. byte buf[4]; // 具体内容(指针地址);
  33. }Package;
  34. // 用于登录/登出;
  35. typedef struct __USERINFO__ {
  36. char szUserName[MAX_PATH];
  37. char szPassword[MAX_PATH];
  38. char szActuatorName[MAX_PATH];
  39. }UserInfo, *pUserInfo;
  40. // 登录返回;
  41. typedef struct __LOGIN_RESP__ {
  42. // true登录成功;
  43. bool bStatus;
  44. // 描述(暂时不用);
  45. char szMessage[MAX_PATH];
  46. }LoginResp, *pLoginResp;
  47. typedef struct __DEVICE__ {
  48. int nType; // 0=虚拟, 1=usb, 2=网线;
  49. char szName[MAX_PATH]; // 设备名称(IP:端口号);
  50. int nStatus; // 设备状态:0表示空闲,1表示繁忙;
  51. }Device, *pDevice;
  52. // 查询设备返回;
  53. typedef struct __QUERY_DEVICES_RESP__ {
  54. // 设备数量;
  55. int nSize;
  56. // 最多只能返回30个设备;
  57. Device ssDevs[30];
  58. }DeviceResp, *pDeviceResp;
  59. #pragma pack(pop)
  60. }
  61. #endif // __SAT_PROTOCOL__