gwenhywfar  4.3.3
httpsession.h
Go to the documentation of this file.
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