00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027 #ifndef _RTXHTTP_H_
00028 #define _RTXHTTP_H_
00029
00030 #ifndef _OS_NOSOCKET
00031
00032 #include "rtxsrc/rtxArrayList.h"
00033 #include "rtxsrc/rtxNetUtil.h"
00034
00035 typedef struct OSRTHttpHeader {
00036 OSUINT8 majorVersion;
00037 OSUINT8 minorVersion;
00038 OSINT32 status;
00039 OSRTArrayList fields;
00040 } OSRTHttpHeader;
00041
00042 typedef struct OSRTHttpContent {
00043 size_t length;
00044 OSOCTET* data;
00045 } OSRTHttpContent;
00046
00047 #ifdef __cplusplus
00048 extern "C" {
00049 #endif
00050
00058 EXTERNRT int rtxHttpConnect (OSRTNETCONN* pNetConn);
00059
00071 EXTERNRT int rtxHttpGet
00072 (OSCTXT* pctxt, const char* url, OSRTHttpContent* pContent);
00073
00082 EXTERNRT int rtxHttpSendGetRequest (OSRTNETCONN* pNetConn, const char* url);
00083
00093 EXTERNRT int rtxHttpSendRequest (OSRTNETCONN* pNetConn,
00094 const char* method, const char* content, const char* contentType);
00095
00105 EXTERNRT int rtxHttpRecvRespHdr
00106 (OSRTNETCONN* pNetConn, OSRTHttpHeader* pHeader);
00107
00118 EXTERNRT int rtxHttpRecvContent
00119 (OSRTNETCONN* pNetConn, OSRTHttpHeader* pHeader, OSRTHttpContent* pContent);
00120
00121 #ifdef _TRACE
00122
00129 void rtxDiagPrintHttpHeader (OSCTXT* pctxt, const OSRTHttpHeader* pHeader);
00130 #endif
00131
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135
00136 #endif
00137
00138 #endif