diff options
Diffstat (limited to 'protocol.h')
-rw-r--r-- | protocol.h | 35 |
1 files changed, 30 insertions, 5 deletions
@@ -1,16 +1,41 @@ #include <stdint.h> // Provides uint8_t, int8_t, etc. -struct snowcast_message { - uint8_t type; +// client to server messages (commands) + +struct Command { + uint8_t commandType; uint16_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 Hello { - uint8_t commandType; - uint16_t udpPort; +struct Reply { + uint8_t replyType; + uint8_t stringSize; +} reply_t __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)); + +int send_all(int sock, char *buf, int *len); +int recv_all(int sock, char *buf, int *len); |