diff --git a/cpu/native/include/nativenet_internal.h b/cpu/native/include/nativenet_internal.h index 80879203a87b83e2c25bf14d30105524c62971e2..58a2f2d7c16b945fecbe527f5238e51e8fcfe110 100644 --- a/cpu/native/include/nativenet_internal.h +++ b/cpu/native/include/nativenet_internal.h @@ -40,4 +40,5 @@ struct rx_buffer_s { extern struct rx_buffer_s _nativenet_rx_buffer[RX_BUF_SIZE]; void _nativenet_handle_packet(radio_packet_t *packet); +int8_t send_buf(radio_packet_t *packet); #endif /* NATIVENET_INTERNAL_H */ diff --git a/cpu/native/include/tap.h b/cpu/native/include/tap.h index 719c0b351b750b6d315315fdc81917627fabd105..9a20295caf96b68316f322b4e0c3c10ef89eb493 100644 --- a/cpu/native/include/tap.h +++ b/cpu/native/include/tap.h @@ -31,7 +31,6 @@ * On OSX a name has to be provided. */ int tap_init(char *name); -int send_buf(radio_packet_t *packet); extern int _native_tap_fd; extern unsigned char _native_tap_mac[ETHER_ADDR_LEN]; diff --git a/cpu/native/net/tap.c b/cpu/native/net/tap.c index d4be66bd0a05f43801ba0740c39ef62492ab088f..df6fd94ed7066f052859ebbc784848bb17b4e359 100644 --- a/cpu/native/net/tap.c +++ b/cpu/native/net/tap.c @@ -162,7 +162,7 @@ int _native_marshall_ethernet(uint8_t *framebuf, radio_packet_t *packet) return data_len + ETHER_HDR_LEN; } -int send_buf(radio_packet_t *packet) +int8_t send_buf(radio_packet_t *packet) { uint8_t buf[TAP_BUFFER_LENGTH]; int nsent, to_send; @@ -178,7 +178,7 @@ int send_buf(radio_packet_t *packet) warn("write"); return -1; } - return 0; + return (nsent > INT8_MAX ? INT8_MAX : nsent); } int tap_init(char *name)