UDPFileTransferClient-Server / pdu.h
pdu.h
Raw
#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