Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef GWEN_HTTP_SESSION_H
00012 #define GWEN_HTTP_SESSION_H
00013
00014
00015 #include <gwenhywfar/inherit.h>
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021 typedef struct GWEN_HTTP_SESSION GWEN_HTTP_SESSION;
00022 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_HTTP_SESSION, GWENHYWFAR_API)
00023
00024 #ifdef __cplusplus
00025 }
00026 #endif
00027
00028
00029 #include <gwenhywfar/url.h>
00030 #include <gwenhywfar/buffer.h>
00031
00032
00036 #define GWEN_HTTP_SESSION_FLAGS_FORCE_SSL3 0x00000001
00037 #define GWEN_HTTP_SESSION_FLAGS_NO_CACHE 0x00000002
00038
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00044
00050
00055
00056 GWENHYWFAR_API
00057 GWEN_HTTP_SESSION *GWEN_HttpSession_new(const char *url, const char *defaultProto, int defaultPort);
00058
00059 GWENHYWFAR_API
00060 void GWEN_HttpSession_Attach(GWEN_HTTP_SESSION *sess);
00061
00062 GWENHYWFAR_API
00063 void GWEN_HttpSession_free(GWEN_HTTP_SESSION *sess);
00075
00076 GWENHYWFAR_API
00077 uint32_t GWEN_HttpSession_GetFlags(const GWEN_HTTP_SESSION *sess);
00078
00079 GWENHYWFAR_API
00080 void GWEN_HttpSession_SetFlags(GWEN_HTTP_SESSION *sess, uint32_t fl);
00081
00082 GWENHYWFAR_API
00083 void GWEN_HttpSession_AddFlags(GWEN_HTTP_SESSION *sess, uint32_t fl);
00084
00085 GWENHYWFAR_API
00086 void GWEN_HttpSession_SubFlags(GWEN_HTTP_SESSION *sess, uint32_t fl);
00087
00088 GWENHYWFAR_API
00089 const char *GWEN_HttpSession_GetHttpUserAgent(const GWEN_HTTP_SESSION *sess);
00090
00091 GWENHYWFAR_API
00092 void GWEN_HttpSession_SetHttpUserAgent(GWEN_HTTP_SESSION *sess, const char *s);
00093
00094 GWENHYWFAR_API
00095 const char *GWEN_HttpSession_GetHttpContentType(const GWEN_HTTP_SESSION *sess);
00096
00097 GWENHYWFAR_API
00098 void GWEN_HttpSession_SetHttpContentType(GWEN_HTTP_SESSION *sess, const char *s);
00099
00100
00101 GWENHYWFAR_API
00102 int GWEN_HttpSession_GetHttpVMajor(const GWEN_HTTP_SESSION *sess);
00103
00104 GWENHYWFAR_API
00105 void GWEN_HttpSession_SetHttpVMajor(GWEN_HTTP_SESSION *sess, int i);
00106
00107 GWENHYWFAR_API
00108 int GWEN_HttpSession_GetHttpVMinor(const GWEN_HTTP_SESSION *sess);
00109
00110 GWENHYWFAR_API
00111 void GWEN_HttpSession_SetHttpVMinor(GWEN_HTTP_SESSION *sess, int i);
00120 GWENHYWFAR_API
00121 int GWEN_HttpSession_Init(GWEN_HTTP_SESSION *sess);
00122
00123 GWENHYWFAR_API
00124 int GWEN_HttpSession_Fini(GWEN_HTTP_SESSION *sess);
00125
00126
00127
00132
00142 GWENHYWFAR_API
00143 int GWEN_HttpSession_SendPacket(GWEN_HTTP_SESSION *sess,
00144 const char *httpCommand,
00145 const uint8_t *buf, uint32_t blen);
00146
00152 GWENHYWFAR_API
00153 int GWEN_HttpSession_RecvPacket(GWEN_HTTP_SESSION *sess, GWEN_BUFFER *buf);
00154
00155 GWENHYWFAR_API
00156 int GWEN_HttpSession_RecvPacketToFile(GWEN_HTTP_SESSION *sess, const char *fname);
00157
00164 GWENHYWFAR_API
00165 int GWEN_HttpSession_ConnectionTest(GWEN_HTTP_SESSION *sess);
00166
00170
00171
00172
00173 #ifdef __cplusplus
00174 }
00175 #endif
00176
00177
00178 #endif
00179