A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

Committer:
andrewboyson
Date:
Sun Nov 11 15:44:23 2018 +0000
Revision:
79:f50e02fb5c94
Parent:
73:43e3d7fb3d60
Child:
96:43eb7a110f1a
Added RTO support to TCP and fixed a problem with polling of different IP versions.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 61:aad055f1b0d1 1 #include <stdbool.h>
andrewboyson 61:aad055f1b0d1 2 #include <stdarg.h>
andrewboyson 61:aad055f1b0d1 3 #include <stdint.h>
andrewboyson 61:aad055f1b0d1 4
andrewboyson 54:84ef2b29cf7e 5 extern void HttpAddChar (char c);
andrewboyson 54:84ef2b29cf7e 6 extern void HttpFillChar (char c, int length);
andrewboyson 54:84ef2b29cf7e 7 extern int HttpAddText (const char* text);
andrewboyson 54:84ef2b29cf7e 8 extern int HttpAddV (char *fmt, va_list argptr);
andrewboyson 54:84ef2b29cf7e 9 extern int HttpAddF (char *fmt, ...);
andrewboyson 54:84ef2b29cf7e 10 extern void HttpAddData (const char* data, int length);
andrewboyson 54:84ef2b29cf7e 11 extern void HttpAddStream(void (*startFunction)(void), int (*enumerateFunction)(void));
andrewboyson 54:84ef2b29cf7e 12
andrewboyson 54:84ef2b29cf7e 13 extern void HttpReadRequest (char *p, int len, char** ppMethod, char** ppPath, char** ppQuery, char** ppLastModified);
andrewboyson 54:84ef2b29cf7e 14 extern char* HttpGetNextLine (char* p, char* pE);
andrewboyson 54:84ef2b29cf7e 15 extern void HttpSplitRequest(char* p, char** ppMethod, char** ppPath, char** ppQuery);
andrewboyson 54:84ef2b29cf7e 16 extern void HttpSplitHeader (char* p, char** ppName, char** ppValue);
andrewboyson 54:84ef2b29cf7e 17 extern char* HttpSplitQuery (char* p, char** ppName, char** ppValue);
andrewboyson 54:84ef2b29cf7e 18 extern void HttpDecodeValue (char* value);
andrewboyson 54:84ef2b29cf7e 19
andrewboyson 54:84ef2b29cf7e 20 extern int (*HttpRequestFunction)(char *pPath, char* pLastModified, char *pQuery);
andrewboyson 54:84ef2b29cf7e 21 extern void (*HttpReplyFunction)(int todo);
andrewboyson 54:84ef2b29cf7e 22
andrewboyson 54:84ef2b29cf7e 23 extern bool HttpTrace;
andrewboyson 79:f50e02fb5c94 24 extern void HttpHandleRequest(int size, char* pRequestStream, uint32_t positionInRequestStream, int* pToDo);
andrewboyson 79:f50e02fb5c94 25 extern void HttpSendReply (int* pSize, char* pReplyStream, uint32_t positionInReplyStream, uint16_t mss, int todo);
andrewboyson 54:84ef2b29cf7e 26
andrewboyson 54:84ef2b29cf7e 27 extern void HttpDateFromDateTime(const char* date, const char *ptime, char* ptext);
andrewboyson 54:84ef2b29cf7e 28 extern void HttpDateFromNow(char* pText);
andrewboyson 54:84ef2b29cf7e 29
andrewboyson 54:84ef2b29cf7e 30 #define HTTP_DATE_LENGTH 30
andrewboyson 54:84ef2b29cf7e 31