#ifndef RS_PACKETSH #define RS_PACKETSH #define RS_MAGIC_LEN (6) #define RS_PROTO_VER_LEN (2) #define RS_MAX_PACKET_LEN (1048) #define RS_LOGIN_LEN (32) #define RS_PARAMS_LEN (979) #define RS_ALIVE_PACKET (0) #define RS_CONNECT_PACKET (1) #define RS_DISCONNECT_PACKET (2) #define RS_ID "RSP00" #include "os_int.h" struct RS_PACKET_HEADER { int8_t magic[RS_MAGIC_LEN]; int8_t protoVer[RS_PROTO_VER_LEN]; int8_t packetType; uint32_t ip; uint32_t id; int8_t login[RS_LOGIN_LEN]; int8_t padding[7]; } __attribute__((__packed__)); // 48 bytes, 6 blocks struct RS_PACKET_TAIL { int8_t magic[RS_MAGIC_LEN]; int8_t params[RS_PARAMS_LEN]; int8_t padding[7]; } __attribute__((__packed__)); // 992 bytes, 124 blocks #endif