From c055294629f1c3bb8843c65ce5ebff15efc94b7b Mon Sep 17 00:00:00 2001 From: sotech117 Date: Sat, 23 Sep 2023 23:10:12 -0400 Subject: implement extra credit --- protocol.h | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'protocol.h') diff --git a/protocol.h b/protocol.h index aeeaa54..33ffb07 100644 --- a/protocol.h +++ b/protocol.h @@ -2,40 +2,43 @@ // client to server messages (commands) -struct Command { - uint8_t commandType; - uint16_t number; -} __attribute__((packed)); - struct Hello { - uint8_t commandType; + uint8_t commandType; // 0 uint16_t udpPort; } __attribute__((packed)); struct SetStation { - uint8_t commandType; + uint8_t commandType; // 1 uint16_t stationNumber; } __attribute__((packed)); +struct ListStations { + uint8_t commandType; // 5 +} __attribute__((packed)); + // server to client message (replies) struct Welcome { - uint8_t replyType; + uint8_t replyType; // 2 uint16_t numStations; } __attribute__((packed)); -struct Reply { - uint8_t replyType; - uint8_t stringSize; -} reply_t __attribute__((packed)); struct Announce { - uint8_t replyType; + uint8_t replyType; // 3 uint8_t songnameSize; char *songname; } __attribute__((packed)); + struct InvalidCommand { - uint8_t replyType; + uint8_t replyType; // 4 uint8_t replyStringSize; char *replyString; } __attribute__((packed)); +struct StationInfo { + uint8_t replyType; // 6 + uint8_t infoStringSize; + char *infoString; +} __attribute__((packed)); + + int send_all(int sock, char *buf, int *len); int recv_all(int sock, char *buf, int *len); -- cgit v1.2.3-70-g09d2