#ifndef PDU_H #define PDU_H #include <stdbool.h> // RCOPY / SERVER shared constants #define MAX_BUFFER 1500 #define HEADER_LEN 7 #define FLAG_LOC 6 #define DATA_FLAG 3 #define RR_FLAG 5 #define SREJ_FLAG 6 #define EOF_FLAG 9 #define EOF_ACK_FLAG 10 #define MAX_FNAME_LEN 100 #define FNAME_REQUEST_FLAG 7 #define FNAME_RESPONSE_FLAG 8 #define FNAME_BAD 1 #define FNAME_GOOD 2 uint8_t *createPDU(uint32_t sequenceNumber, uint8_t flag, uint8_t *payload, int dataLen); void outputPDU(uint8_t *aPDU, int pduLength); bool validChecksum(uint8_t *packet, int recvLen); uint32_t getSeqNumber(uint8_t *packet); uint32_t getOffsetSeqNumber(uint8_t *packet); void printAllBytes(uint8_t *packet, int recvLen); #endif