From aef46f821b500a0f8b9eba574dd29af1efbcb7a3 Mon Sep 17 00:00:00 2001 From: sdemeesterde <samuel.demeester@student.uclouvain.be> Date: Sun, 6 Mar 2022 15:42:42 +0100 Subject: [PATCH] it compiles --- Makefile | 4 ++-- src/packet_interface.c | 14 +++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 601b3c7..b426e7e 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,8 @@ HEADERS_DIR = -Iheaders LDFLAGS = -lz # Adapt these as you want to fit with your project -SENDER_SOURCES = $(wildcard src/sender.c src/log.c) -RECEIVER_SOURCES = $(wildcard src/receiver.c src/log.c) +SENDER_SOURCES = $(wildcard src/sender.c src/log.c src/packet_interface.c) +RECEIVER_SOURCES = $(wildcard src/receiver.c src/log.c src/packet_interface.c) SENDER_OBJECTS = $(SENDER_SOURCES:.c=.o) RECEIVER_OBJECTS = $(RECEIVER_SOURCES:.c=.o) diff --git a/src/packet_interface.c b/src/packet_interface.c index 838aa22..229fc81 100644 --- a/src/packet_interface.c +++ b/src/packet_interface.c @@ -51,14 +51,14 @@ void pkt_del(pkt_t *pkt) * @param len : The number of bytes of the buffer. * @return uint32_t */ -uint32_t calculate_crc(char * buffer, uint32_t len) +uint32_t calculate_crc(const char * buffer, uint32_t len) { return (uint32_t) crc32(0, (const void *) buffer, len); } pkt_status_code pkt_decode_data_fec(const char *data, const size_t len, pkt_t *pkt) { - + return pkt_set_payload(pkt, data, len); // TRASH } pkt_status_code pkt_decode_ack_nack(const char *data, const size_t len, pkt_t *pkt) @@ -84,8 +84,12 @@ pkt_status_code pkt_decode_ack_nack(const char *data, const size_t len, pkt_t *p // CheckSum no need to set TR at 0 as it should be at 0 char crc[4]; memcpy(crc, data+4, 4); - if (calculate_crc(data, 4) != ntohl((uint32_t) crc)) + if (calculate_crc(data, 4) != ntohl(*((uint32_t *) crc))) return E_CRC; + + if (predict_header_length(pkt) > 1) return PKT_OK; // TRASH !! + + return PKT_OK; } pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt) @@ -99,7 +103,7 @@ pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt) pkt_status_code pkt_encode(const pkt_t* pkt, char *buf, size_t *len) { - /* Your code will be inserted here */ + return pkt_set_payload((pkt_t *) pkt, buf, *len); // TRASH } /** GETTER */ @@ -145,7 +149,7 @@ uint32_t pkt_get_crc2(const pkt_t* pkt) const char* pkt_get_payload(const pkt_t* pkt) { - return pkt->payload; + return (const char *) pkt->payload; } -- GitLab