00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef GWEN_NL_HTTP_H
00030 #define GWEN_NL_HTTP_H
00031
00032 #include <gwenhywfar/netlayer.h>
00033 #include <gwenhywfar/inetsocket.h>
00034 #include <gwenhywfar/db.h>
00035 #include <gwenhywfar/url.h>
00036
00037
00038 #define GWEN_NL_HTTP_NAME "Http"
00039
00040
00041
00042
00043
00044
00045
00046
00047
00051 #define GWEN_NL_HTTP_FLAGS_IPC 0x00000001
00052
00053
00054 typedef enum {
00055 GWEN_NetLayerHttpVersion_1_0=0,
00056 GWEN_NetLayerHttpVersion_1_1
00057 } GWEN_NETLAYER_HTTP_VERSION;
00058
00059
00060 GWENHYWFAR_API
00061 GWEN_NETLAYER *GWEN_NetLayerHttp_new(GWEN_NETLAYER *baseLayer);
00062
00063
00064
00065 GWENHYWFAR_API
00066 void GWEN_NetLayerHttp_SetOutCommand(GWEN_NETLAYER *nl,
00067 const char *command,
00068 const GWEN_URL *url);
00069
00070 GWENHYWFAR_API
00071 void GWEN_NetLayerHttp_SetOutStatus(GWEN_NETLAYER *nl,
00072 int code,
00073 const char *text);
00074
00075 GWENHYWFAR_API
00076 GWEN_DB_NODE *GWEN_NetLayerHttp_GetOutHeader(const GWEN_NETLAYER *nl);
00077
00078 GWENHYWFAR_API
00079 GWEN_DB_NODE *GWEN_NetLayerHttp_GetInHeader(const GWEN_NETLAYER *nl);
00080
00081 GWENHYWFAR_API
00082 int GWEN_NetLayerHttp_GetInStatusCode(const GWEN_NETLAYER *nl);
00083
00084 GWENHYWFAR_API
00085 const char *GWEN_NetLayerHttp_GetInStatusText(const GWEN_NETLAYER *nl);
00086
00087
00088 GWENHYWFAR_API
00089 void GWEN_NetLayerHttp_SetHttpVersion(GWEN_NETLAYER *nl,
00090 GWEN_NETLAYER_HTTP_VERSION v);
00091
00092 GWENHYWFAR_API
00093 GWEN_NETLAYER_HTTP_VERSION
00094 GWEN_NetLayerHttp_GetHttpVersion(const GWEN_NETLAYER *nl);
00095
00096 GWENHYWFAR_API
00097 int GWEN_NetLayerHttp_Request(GWEN_NETLAYER *nl,
00098 const char *command,
00099 const GWEN_URL *url,
00100 GWEN_DB_NODE *dbHeader,
00101 const char *pBody,
00102 int lBody,
00103 GWEN_BUFFEREDIO *bio);
00104
00105 #endif
00106
00107