SmartParkingOprF.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. //---------------------------------------------------------------------------
  2. #ifndef SmartParkingOprFH
  3. #define SmartParkingOprFH
  4. //---------------------------------------------------------------------------
  5. //---------------------------------------------------------------------------
  6. #pragma pack(push, 1)
  7. //---------------------------------------------------------------------------
  8. #define P_INT_MAX_DATA_SIZE 1014 /* 1014 Byte */
  9. #define P_INT_ID_PARK_SERVER 0x0C /* 주차장 연계 서버 */
  10. #define P_INT_ID_MAIN_OPER 0x21 /* 통합운영단말 */
  11. #define P_INT_HEADER_SIZE (sizeof(P_INT_HEAD))
  12. /*
  13. ******************************************************************************
  14. * 프로토콜에서 사용되는 구조체 정의
  15. ******************************************************************************
  16. */
  17. /*
  18. * HEAD
  19. */
  20. typedef struct p_int_head
  21. {
  22. BYTE SendId; /* 송신 시스템 ID */
  23. BYTE RecvId; /* 수신 시스템 ID */
  24. BYTE TotalFrame; /* 전체 프레임 갯수 */
  25. BYTE CurrentFrame; /* 현재 프레임 번호 */
  26. BYTE Reserved; /* Reserved */
  27. BYTE OPCode; /* 명령어 */
  28. DWORD Length; /* 데이터의 길이 */
  29. } P_INT_HEAD;
  30. /*
  31. * DATA
  32. */
  33. typedef struct p_int_data
  34. {
  35. BYTE Data[P_INT_MAX_DATA_SIZE]; /* Data */
  36. } P_INT_DATA;
  37. /*
  38. * PACKET
  39. */
  40. typedef struct p_int_packet
  41. {
  42. P_INT_HEAD head;
  43. P_INT_DATA data;
  44. } P_INT_PACKET;
  45. /*
  46. * Sender information
  47. */
  48. typedef struct p_int_sender
  49. {
  50. DWORD IP; /* ip address */
  51. int Port; /* port */
  52. } P_INT_SENDER;
  53. typedef struct
  54. {
  55. P_INT_SENDER Sender; /* side information */
  56. P_INT_PACKET Pkt; /* main frame */
  57. } P_IPCUDPMESSAGESTRUCT;
  58. //프로토콜 데이터
  59. #define P_PARKING_ID_SIZE 9
  60. typedef struct tagPInitParking
  61. {
  62. char Id[P_PARKING_ID_SIZE];
  63. DWORD Total; // 총 주차여유 면수 주차장 전체 여유 면수 4 N
  64. DWORD General; // 일반 주차여유 면수 일반 차량 주차 여유 면수 4 N
  65. DWORD Disabled; // 장애인 주차여유 면수 장애인 차량 주차 여유 면수 4 N
  66. DWORD Small; // 경차 주차여유 면수 경차 주차 여유 면수 4 N
  67. DWORD Woman; // 여성전용 주차여유 면수 여성전용 주차여유 면수 4 N
  68. DWORD Electric; // 전기차 주차여유 면수 전기차 전용 주차여유 면수 4 N
  69. } P_INIT_PARKING;
  70. #define P_MAX_INIT_PARKING 30
  71. typedef struct
  72. {
  73. BYTE Count;
  74. P_INIT_PARKING Info[P_MAX_INIT_PARKING];
  75. } P_REQ_INIT_PARKING;
  76. typedef struct tagPResetParking
  77. {
  78. char Id[P_PARKING_ID_SIZE];
  79. } P_RESET_PARKING;
  80. #define P_MAX_RESET_PARKING 50
  81. typedef struct
  82. {
  83. BYTE Count;
  84. P_RESET_PARKING Info[P_MAX_RESET_PARKING];
  85. } P_REQ_RESET_PARKING;
  86. #define INT_OP_PARKING_INIT 0x20
  87. #define INT_OP_PARKING_RESET 0x21
  88. //---------------------------------------------------------------------------
  89. #pragma pack(pop)
  90. //---------------------------------------------------------------------------
  91. #endif