gwenhywfar
4.3.1
|
00001 /*************************************************************************** 00002 begin : Fri Feb 15 2008 00003 copyright : (C) 2008-2010 by Martin Preuss 00004 email : martin@libchipcard.de 00005 00006 *************************************************************************** 00007 * Please see toplevel file COPYING for license details * 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 /* defgroup */ 00171 00172 00173 #ifdef __cplusplus 00174 } 00175 #endif 00176 00177 00178 #endif 00179