Free (GPLv2) TCP/IP stack developed by TASS Belgium

Fork of PicoTCP by Daniele Lacamera

Committer:
tass
Date:
Fri May 17 12:09:59 2013 +0000
Revision:
1:cfe8984a32b4
Parent:
libraries/picotcp/modules/pico_http_client.h@0:d7f2341ab245
Update for smaller SOCKETQ

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniele 0:d7f2341ab245 1 /*********************************************************************
daniele 0:d7f2341ab245 2 PicoTCP. Copyright (c) 2012 TASS Belgium NV. Some rights reserved.
daniele 0:d7f2341ab245 3 See LICENSE and COPYING for usage.
daniele 0:d7f2341ab245 4
daniele 0:d7f2341ab245 5 Author: Andrei Carp <andrei.carp@tass.be>
daniele 0:d7f2341ab245 6 *********************************************************************/
daniele 0:d7f2341ab245 7
daniele 0:d7f2341ab245 8
daniele 0:d7f2341ab245 9 #ifndef PICO_HTTP_CLIENT_H_
daniele 0:d7f2341ab245 10 #define PICO_HTTP_CLIENT_H_
daniele 0:d7f2341ab245 11
daniele 0:d7f2341ab245 12 #include "pico_http_util.h"
daniele 0:d7f2341ab245 13
daniele 0:d7f2341ab245 14 /*
daniele 0:d7f2341ab245 15 * Transfer encodings
daniele 0:d7f2341ab245 16 */
daniele 0:d7f2341ab245 17 #define HTTP_TRANSFER_CHUNKED 1u
daniele 0:d7f2341ab245 18 #define HTTP_TRANSFER_FULL 0u
daniele 0:d7f2341ab245 19
daniele 0:d7f2341ab245 20 /*
daniele 0:d7f2341ab245 21 * Parameters for the send header function
daniele 0:d7f2341ab245 22 */
daniele 0:d7f2341ab245 23 #define HTTP_HEADER_RAW 0u
daniele 0:d7f2341ab245 24 #define HTTP_HEADER_DEFAULT 1u
daniele 0:d7f2341ab245 25
daniele 0:d7f2341ab245 26 /*
daniele 0:d7f2341ab245 27 * Data types
daniele 0:d7f2341ab245 28 */
daniele 0:d7f2341ab245 29
daniele 0:d7f2341ab245 30 struct pico_http_header
daniele 0:d7f2341ab245 31 {
daniele 0:d7f2341ab245 32 uint16_t responseCode; // http response
daniele 0:d7f2341ab245 33 char * location; // if redirect is reported
daniele 0:d7f2341ab245 34 uint32_t contentLengthOrChunk; // size of the message
daniele 0:d7f2341ab245 35 uint8_t transferCoding; // chunked or full
daniele 0:d7f2341ab245 36
daniele 0:d7f2341ab245 37 };
daniele 0:d7f2341ab245 38
daniele 0:d7f2341ab245 39 int pico_http_client_open(char * uri, void (*wakeup)(uint16_t ev, uint16_t conn));
daniele 0:d7f2341ab245 40 int pico_http_client_sendHeader(uint16_t conn, char * header, int hdr);
daniele 0:d7f2341ab245 41
daniele 0:d7f2341ab245 42 struct pico_http_header * pico_http_client_readHeader(uint16_t conn);
daniele 0:d7f2341ab245 43 struct pico_http_uri * pico_http_client_readUriData(uint16_t conn);
daniele 0:d7f2341ab245 44 char * pico_http_client_buildHeader(const struct pico_http_uri * uriData);
daniele 0:d7f2341ab245 45
daniele 0:d7f2341ab245 46 int pico_http_client_readData(uint16_t conn, char * data, uint16_t size);
daniele 0:d7f2341ab245 47 int pico_http_client_close(uint16_t conn);
daniele 0:d7f2341ab245 48
daniele 0:d7f2341ab245 49 #endif /* PICO_HTTP_CLIENT_H_ */