#include // Provides uint8_t, int8_t, etc. // client to server messages (commands) struct Command { uint8_t commandType; u_int16_t number; } __attribute__((packed)); struct Hello { uint8_t commandType; uint16_t udpPort; } __attribute__((packed)); struct SetStation { uint8_t commandType; uint16_t stationNumber; } __attribute__((packed)); // server to client message (replies) struct Welcome { uint8_t replyType; uint16_t numStations; } __attribute__((packed)); struct Reply { uint8_t replyType; uint8_t stringSize; char *string; } __attribute__((packed)); struct Announce { uint8_t replyType; uint8_t songnameSize; char *songname; } __attribute__((packed)); struct InvalidCommand { uint8_t replyType; uint8_t replyStringSize; char *replyString; } __attribute__((packed));