uip-packetqueue.h
00001 #ifndef UIP_PACKETQUEUE_H
00002 #define UIP_PACKETQUEUE_H
00003
00004 #include "sys/ctimer.h"
00005
00006 struct uip_packetqueue_handle;
00007
00008 struct uip_packetqueue_packet {
00009 struct uip_ds6_queued_packet *next;
00010 uint8_t queue_buf[UIP_BUFSIZE - UIP_LLH_LEN];
00011 uint16_t queue_buf_len;
00012 struct ctimer lifetimer;
00013 struct uip_packetqueue_handle *handle;
00014 };
00015
00016 struct uip_packetqueue_handle {
00017 struct uip_packetqueue_packet *packet;
00018 };
00019
00020 void uip_packetqueue_new(struct uip_packetqueue_handle *handle);
00021
00022
00023 struct uip_packetqueue_packet *
00024 uip_packetqueue_alloc(struct uip_packetqueue_handle *handle, clock_time_t lifetime);
00025
00026
00027 void
00028 uip_packetqueue_free(struct uip_packetqueue_handle *handle);
00029
00030 uint8_t *uip_packetqueue_buf(struct uip_packetqueue_handle *h);
00031 uint16_t uip_packetqueue_buflen(struct uip_packetqueue_handle *h);
00032 void uip_packetqueue_set_buflen(struct uip_packetqueue_handle *h, uint16_t len);
00033
00034
00035 #endif