From 4541d3e85bf69871da3db1adf8e0ccab11fb1c28 Mon Sep 17 00:00:00 2001 From: Adam Dunkels Date: Sun, 17 Mar 2013 23:42:06 +0100 Subject: [PATCH] Let the framer functions use ints instead of uint8_t to make them more generic --- core/net/mac/frame802154.c | 16 ++++++++-------- core/net/mac/frame802154.h | 6 +++--- core/net/mac/framer-802154.c | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/core/net/mac/frame802154.c b/core/net/mac/frame802154.c index 345a779db..7807c4392 100644 --- a/core/net/mac/frame802154.c +++ b/core/net/mac/frame802154.c @@ -153,7 +153,7 @@ field_len(frame802154_t *p, field_length_t *flen) * * \return The length of the frame header. */ -uint8_t +int frame802154_hdrlen(frame802154_t *p) { field_length_t flen; @@ -176,8 +176,8 @@ frame802154_hdrlen(frame802154_t *p) * \return The length of the frame header or 0 if there was * insufficient space in the buffer for the frame headers. */ -uint8_t -frame802154_create(frame802154_t *p, uint8_t *buf, uint8_t buf_len) +int +frame802154_create(frame802154_t *p, uint8_t *buf, int buf_len) { int c; field_length_t flen; @@ -236,7 +236,7 @@ frame802154_create(frame802154_t *p, uint8_t *buf, uint8_t buf_len) /* pos += flen.aux_sec_len; */ } - return pos; + return (int)pos; } /*----------------------------------------------------------------------------*/ /** @@ -248,12 +248,12 @@ frame802154_create(frame802154_t *p, uint8_t *buf, uint8_t buf_len) * \param len The size of the input data * \param pf The frame802154_t struct to store the parsed frame information. */ -uint8_t -frame802154_parse(uint8_t *data, uint8_t len, frame802154_t *pf) +int +frame802154_parse(uint8_t *data, int len, frame802154_t *pf) { uint8_t *p; frame802154_fcf_t fcf; - uint8_t c; + int c; if(len < 3) { return 0; @@ -345,7 +345,7 @@ frame802154_parse(uint8_t *data, uint8_t len, frame802154_t *pf) /* header length */ c = p - data; /* payload length */ - pf->payload_len = len - c; + pf->payload_len = (uint8_t)(0xff & (len - c)); /* payload */ pf->payload = p; diff --git a/core/net/mac/frame802154.h b/core/net/mac/frame802154.h index 861b646a4..4d72ea15f 100644 --- a/core/net/mac/frame802154.h +++ b/core/net/mac/frame802154.h @@ -160,9 +160,9 @@ typedef struct { /* Prototypes */ -uint8_t frame802154_hdrlen(frame802154_t *p); -uint8_t frame802154_create(frame802154_t *p, uint8_t *buf, uint8_t buf_len); -uint8_t frame802154_parse(uint8_t *data, uint8_t length, frame802154_t *pf); +int frame802154_hdrlen(frame802154_t *p); +int frame802154_create(frame802154_t *p, uint8_t *buf, int buf_len); +int frame802154_parse(uint8_t *data, int length, frame802154_t *pf); /** @} */ #endif /* FRAME_802154_H */ diff --git a/core/net/mac/framer-802154.c b/core/net/mac/framer-802154.c index 67a7a700a..46c633d60 100644 --- a/core/net/mac/framer-802154.c +++ b/core/net/mac/framer-802154.c @@ -90,7 +90,7 @@ static int create(void) { frame802154_t params; - uint8_t len; + int len; /* init to zeros */ memset(¶ms, 0, sizeof(params)); @@ -174,7 +174,7 @@ create(void) PRINTF("15.4-OUT: %2X", params.fcf.frame_type); PRINTADDR(params.dest_addr.u8); - PRINTF("%u %u (%u)\n", len, packetbuf_datalen(), packetbuf_totlen()); + PRINTF("%d %u (%u)\n", len, packetbuf_datalen(), packetbuf_totlen()); return len; } else {