Common stuff for all my devices' web server pages: css, login, log, ipv4, ipv6, firmware update, clock, reset info etc.
Dependents: oldheating gps motorhome heating
http.h
00001 #include <stdbool.h> 00002 #include <stdarg.h> 00003 #include <stdint.h> 00004 #include <time.h> 00005 00006 #define HTTP_WAIT 0 00007 #define HTTP_FINISHED 1 00008 #define HTTP_HAVE_SOMETHING_TO_SEND 2 00009 00010 extern void HttpReset (int connectionId); 00011 extern bool HttpAdd (int connectionId, int* pWindowSize, char* pWindow, uint32_t windowPositionInStream); //returns true if finished; false if not 00012 extern int HttpPoll (int connectionId, bool clientFinished); //returns true if something to send; false if not 00013 extern void HttpRequest (int connectionId, int windowSize, char* pWindow, uint32_t windowPositionInStream); 00014 00015 extern bool HttpGetTrace(void); 00016 00017 extern void HttpAddStart (uint32_t position, int mss, char *pData); 00018 extern int HttpAddLength (void); 00019 extern bool HttpAddFilled (void); 00020 00021 extern void HttpAddChar (char c); 00022 extern void HttpAddFillChar (char c, int length); 00023 extern int HttpAddText (const char* text); 00024 extern int HttpAddTextN (const char* text, int length); 00025 extern int HttpAddV (char *fmt, va_list argptr); 00026 extern int HttpAddF (char *fmt, ...); 00027 extern void HttpAddData (const char* data, int length); 00028 extern void HttpAddStream (void (*startFunction)(void), int (*enumerateFunction)(void)); 00029 extern void HttpAddNibbleAsHex (int value); 00030 extern void HttpAddByteAsHex (int value); 00031 extern void HttpAddInt12AsHex (int value); 00032 extern void HttpAddInt16AsHex (int value); 00033 extern void HttpAddInt32AsHex (int value); 00034 extern void HttpAddInt64AsHex (int64_t value); 00035 extern void HttpAddBytesAsHex (const uint8_t* value, int size); 00036 extern void HttpAddBytesAsHexRev(const uint8_t* value, int size); 00037 extern void HttpAddTm (struct tm* ptm); 00038 00039 extern void HttpOk(const char* contentType, const char* cacheControl, const char* lastModifiedDate, const char* lastModifiedTime); 00040 extern char* HttpOkCookieName; 00041 extern char* HttpOkCookieValue; 00042 extern int HttpOkCookieMaxAge; 00043 00044 extern void HttpNotFound (void); 00045 extern void HttpNotModified (void); 00046 00047 extern int HttpRequestRead(char *p, int len, char** ppMethod, char** ppPath, char** ppQuery, char** ppLastModified, char** ppCookies, int* pContentLength); 00048 00049 extern char* HttpCookiesSplit (char* pCookies, char** ppName, char** ppValue); 00050 extern char* HttpQuerySplit (char* pQuery, char** ppName, char** ppValue); 00051 extern int HttpQueryValueAsInt (char* pValue); 00052 extern double HttpQueryValueAsDouble(char* pValue); 00053 extern void HttpQueryUnencode (char* pValue); 00054 00055 extern void HttpDateFromDateTime(const char* date, const char *ptime, char* ptext); 00056 extern void HttpDateFromNow(char* pText); 00057 00058 extern bool HttpSameStr (const char* pa, const char* pb); 00059 extern bool HttpSameStrCaseInsensitive(const char* pa, const char* pb); 00060 extern bool HttpSameDate (const char* date, const char* time, const char* pOtherDate); 00061 00062 #define HTTP_DATE_LENGTH 30 00063
Generated on Wed Jul 13 2022 14:19:59 by 1.7.2