//--------------------------------------------------------------------------- #ifndef SmartParkingOprFH #define SmartParkingOprFH //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #pragma pack(push, 1) //--------------------------------------------------------------------------- #define P_INT_MAX_DATA_SIZE 1014 /* 1014 Byte */ #define P_INT_ID_PARK_SERVER 0x0C /* 주차장 연계 서버 */ #define P_INT_ID_MAIN_OPER 0x21 /* 통합운영단말 */ #define P_INT_HEADER_SIZE (sizeof(P_INT_HEAD)) /* ****************************************************************************** * 프로토콜에서 사용되는 구조체 정의 ****************************************************************************** */ /* * HEAD */ typedef struct p_int_head { BYTE SendId; /* 송신 시스템 ID */ BYTE RecvId; /* 수신 시스템 ID */ BYTE TotalFrame; /* 전체 프레임 갯수 */ BYTE CurrentFrame; /* 현재 프레임 번호 */ BYTE Reserved; /* Reserved */ BYTE OPCode; /* 명령어 */ DWORD Length; /* 데이터의 길이 */ } P_INT_HEAD; /* * DATA */ typedef struct p_int_data { BYTE Data[P_INT_MAX_DATA_SIZE]; /* Data */ } P_INT_DATA; /* * PACKET */ typedef struct p_int_packet { P_INT_HEAD head; P_INT_DATA data; } P_INT_PACKET; /* * Sender information */ typedef struct p_int_sender { DWORD IP; /* ip address */ int Port; /* port */ } P_INT_SENDER; typedef struct { P_INT_SENDER Sender; /* side information */ P_INT_PACKET Pkt; /* main frame */ } P_IPCUDPMESSAGESTRUCT; //프로토콜 데이터 #define P_PARKING_ID_SIZE 9 typedef struct tagPInitParking { char Id[P_PARKING_ID_SIZE]; DWORD Total; // 총 주차여유 면수 주차장 전체 여유 면수 4 N DWORD General; // 일반 주차여유 면수 일반 차량 주차 여유 면수 4 N DWORD Disabled; // 장애인 주차여유 면수 장애인 차량 주차 여유 면수 4 N DWORD Small; // 경차 주차여유 면수 경차 주차 여유 면수 4 N DWORD Woman; // 여성전용 주차여유 면수 여성전용 주차여유 면수 4 N DWORD Electric; // 전기차 주차여유 면수 전기차 전용 주차여유 면수 4 N } P_INIT_PARKING; #define P_MAX_INIT_PARKING 30 typedef struct { BYTE Count; P_INIT_PARKING Info[P_MAX_INIT_PARKING]; } P_REQ_INIT_PARKING; typedef struct tagPResetParking { char Id[P_PARKING_ID_SIZE]; } P_RESET_PARKING; #define P_MAX_RESET_PARKING 50 typedef struct { BYTE Count; P_RESET_PARKING Info[P_MAX_RESET_PARKING]; } P_REQ_RESET_PARKING; #define INT_OP_PARKING_INIT 0x20 #define INT_OP_PARKING_RESET 0x21 //--------------------------------------------------------------------------- #pragma pack(pop) //--------------------------------------------------------------------------- #endif