34 #include "tcp-socket.h" 47 HTTP_SOCKET_HOSTNAME_NOT_FOUND,
48 } http_socket_event_t;
50 struct http_socket_header {
52 int64_t content_length;
54 int64_t first_byte_pos;
55 int64_t last_byte_pos;
56 int64_t instance_length;
60 typedef void (* http_socket_callback_t)(
struct http_socket *s,
62 http_socket_event_t ev,
66 #define HTTP_SOCKET_INPUTBUFSIZE UIP_TCP_MSS 67 #define HTTP_SOCKET_OUTPUTBUFSIZE MAX(UIP_TCP_MSS, 128) 69 #define HTTP_SOCKET_URLLEN 128 71 #define HTTP_SOCKET_TIMEOUT ((2 * 60 + 30) * CLOCK_SECOND) 74 struct http_socket *next;
76 uip_ipaddr_t proxy_addr;
80 const uint8_t *postdata;
82 http_socket_callback_t callback;
85 char url[HTTP_SOCKET_URLLEN];
86 uint8_t inputbuf[HTTP_SOCKET_INPUTBUFSIZE];
87 uint8_t outputbuf[HTTP_SOCKET_OUTPUTBUFSIZE];
89 struct etimer timeout_timer;
90 uint8_t timeout_timer_started;
91 struct pt pt, headerpt;
93 char header_field[15];
94 struct http_socket_header header;
95 uint8_t header_received;
97 const char *content_type;
100 void http_socket_init(
struct http_socket *s);
102 int http_socket_get(
struct http_socket *s,
const char *url,
103 int64_t pos, uint64_t length,
104 http_socket_callback_t callback,
107 int http_socket_post(
struct http_socket *s,
const char *url,
108 const void *postdata,
109 uint16_t postdatalen,
110 const char *content_type,
111 http_socket_callback_t callback,
114 int http_socket_close(
struct http_socket *socket);
116 void http_socket_set_proxy(
struct http_socket *s,
117 const uip_ipaddr_t *
addr, uint16_t port);
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.
Default definitions of C compiler quirk work-arounds.