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

Fork of PicoTCP by Daniele Lacamera

Committer:
daniele
Date:
Sat Aug 03 08:50:27 2013 +0000
Revision:
51:18637a3d071f
Parent:
3:b4047e8a0123
Branch for CDC-ECM: Work in progress

Who changed what in which revision?

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