⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsphttp.h

📁 SyncML ToolKits,学习syncml的参考工具包.非常好用.
💻 H
字号:
/*************************************************************************//* module:          Communication Services, WSP HTTP Header Functions    *//* file:            src/xpt/all/wsphttp.h                                *//* target system:   all                                                  *//* target OS:       all                                                  *//*************************************************************************//* * Copyright Notice * Copyright (c) Ericsson, IBM, Lotus, Matsushita Communication  * Industrial Co., Ltd., Motorola, Nokia, Openwave Systems, Inc.,  * Palm, Inc., Psion, Starfish Software, Symbian, Ltd. (2001). * All Rights Reserved. * Implementation of all or part of any Specification may require  * licenses under third party intellectual property rights,  * including without limitation, patent rights (such a third party  * may or may not be a Supporter). The Sponsors of the Specification  * are not responsible and shall not be held responsible in any  * manner for identifying or failing to identify any or all such  * third party intellectual property rights. *  * THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN ARE PROVIDED  * ON AN "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND AND ERICSSON, IBM,  * LOTUS, MATSUSHITA COMMUNICATION INDUSTRIAL CO. LTD, MOTOROLA,  * NOKIA, PALM INC., PSION, STARFISH SOFTWARE AND ALL OTHER SYNCML  * SPONSORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT  * SHALL ERICSSON, IBM, LOTUS, MATSUSHITA COMMUNICATION INDUSTRIAL CO.,  * LTD, MOTOROLA, NOKIA, PALM INC., PSION, STARFISH SOFTWARE OR ANY  * OTHER SYNCML SPONSOR BE LIABLE TO ANY PARTY FOR ANY LOSS OF  * PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF  * BUSINESS, OR FOR DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL,  * PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND IN CONNECTION WITH  * THIS DOCUMENT OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED  * OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE. *  * The above notice and this paragraph must be included on all copies  * of this document that are made. *  *//* * Version Label * * RELEASE ??? CANDIDATE ? * 13.06.2000 */#ifndef WSP_HTTP_H#define WSP_HTTP_H#include <xptTransport.h>#include <wspdef.h>/* Defines for binding parameters supplied by client on xptSelectProtocol() */#define WSP_HTTP_ACCEPT          "accept"#define WSP_HTTP_ACCEPT_CHARSET  "acceptCharset"#define WSP_HTTP_ACCEPT_ENCODING "acceptEncoding"#define WSP_HTTP_ACCEPT_LANGUAGE "acceptLanguage"#define WSP_HTTP_FROM            "emailAddress"#define WSP_HTTP_AUTH_USERID     "authUserid"#define WSP_HTTP_AUTH_PASSWORD   "authPassword"#define WSP_HTTP_AUTH_REALM      "authRealm"#define NL "\n"#define D_CACHE_CONTROL "no-store"#define D_ACCEPT "application/vnd.syncml-xml, application/vnd.syncml-wbxml"#define D_ACCEPT_CHARSET "UTF8"#define D_ACCEPT_LANGUAGE "en"#define D_USER_AGENT "WAP Client ["D_ACCEPT_LANGUAGE"] (WinNT; I)"/** *  A structure to hold parameters related to HTTP Authorization Header Tag Info **/typedef struct {   char *authType;   /* Basic or Digest */   char *userid;     /* Basic,Digest */   char *password;   /* Basic */   char *realm;      /* Basic, Digest */   char *cnonce;     /* Digest */   char *opaque;     /* Digest */} WspAuthorization_t;/** *  A structure to hold parameters related to HTTP WWW Authenticate Header Tag **/typedef struct {   char *authType;   /* Basic or Digest */   char *realm;      /* Basic or Digest */   char *domain;     /* Digest */   char *nonce;      /* Digest */   char *opaque;     /* Digest */   char *stale;      /* Digest */   char *algorithm;  /* Digest */   char *qop;        /* Digest */} WspWWWAuthenticate_t;/** *  A structure to hold parameters related to HTTP Authentication-Info Header Tag **/typedef struct {   char *nextNonce;   char *qop;   char *rspAuth;   char *cnonce;   char *nc;} WspAuthentication_t;/** *  A structure to hold parameters related to HTTP Request Header Tags **/typedef struct {   char *accept;   char *acceptCharset;   char *from;   char *acceptEncoding;   char *acceptLanguage;   char *host;   char *referer;   WspAuthorization_t *authorization;   char *composedHeader;} WspHttpRequestParms_t;/** *  A structure to hold parameters related to HTTP Response Header Tags **/typedef struct {   char *cacheControl;   char *location;   char *retryAfter;   WspWWWAuthenticate_t *authChallenge;   WspAuthentication_t  *authVerification;} WspHttpResponseParms_t;/** *  A structure to hold parameters related to HTTP Header Tags **/typedef struct {   unsigned long           valid;   WspHttpRequestParms_t  *request;   WspHttpResponseParms_t *response;} WspHttpParms_t;/* Methods invoked from outside wsphttp.c */unsigned int httpInitialize(const char *szSettings, WspHttpParms_t **parmPtr) WSP_SECTION;const char *httpGetRequestHdrs(WspHttpParms_t *parmPtr, const char *contentType,                                  const char *contentLength) WSP_SECTION;const char *httpGetStaticRequestHdrs(WspHttpParms_t *parmPtr) WSP_SECTION;void httpRelease(WspHttpParms_t *parmPtr) WSP_SECTION;void httpReinitParms(WspHttpParms_t *parmPtr) WSP_SECTION;unsigned int httpSetReferer(WspHttpParms_t *parmPtr, const char *referer) WSP_SECTION;unsigned int httpUpdateAuthorization(WspHttpParms_t *parmPtr, const char *userid,                                     const char *password, const char *realm) WSP_SECTION;unsigned int httpParseResponseHdr(WspHttpParms_t *parmPtr, const char *rspHeader) WSP_SECTION;/* Methods invoked only within wsphttp.c */void addTag(char *buffer, const char *tagName, const char *tagValue) WSP_SECTION;void auth(WspHttpParms_t *parmPtr) WSP_SECTION;int calcStaticHeaderSize(WspHttpRequestParms_t *request) WSP_SECTION;char *getRFC822Date(void) WSP_SECTION;int getTagLen(const char *tagName, const char *tagValue) WSP_SECTION;unsigned int initializeAuthChallenge(WspHttpResponseParms_t *response,                                     char *tempValue) WSP_SECTION;unsigned int initializeAuthorizationParms(WspAuthorization_t **auth) WSP_SECTION;unsigned int initializeAuthVerification(WspHttpResponseParms_t *response,                                        char *tempValue) WSP_SECTION;unsigned int initializeRequestParms(WspHttpParms_t *parmPtr, const char *settings) WSP_SECTION;unsigned int initializeResponseParms(WspHttpParms_t *parmPtr, const char *rspHeader) WSP_SECTION;unsigned int parseAuthChallenge(WspWWWAuthenticate_t *auth, const char *source) WSP_SECTION;unsigned int parseAuthorizationParms(WspHttpRequestParms_t *request, const char *settings) WSP_SECTION;unsigned int parseAuthVerification(WspAuthentication_t *auth, const char *source) WSP_SECTION;unsigned int parseRequestParms(WspHttpRequestParms_t *request, const char *settings) WSP_SECTION;unsigned int parseResponseParms(WspHttpResponseParms_t *response, const char *rspHdr) WSP_SECTION;void releaseChallengeParms(WspWWWAuthenticate_t *parms) WSP_SECTION;void releaseAuthenticationParms(WspAuthentication_t *parms) WSP_SECTION;void releaseAuthorizationParms(WspAuthorization_t *parms) WSP_SECTION;void releaseRequestParms(WspHttpRequestParms_t *request) WSP_SECTION;void releaseResponseParms(WspHttpResponseParms_t *response) WSP_SECTION;unsigned int validateResponse(WspHttpParms_t *parms) WSP_SECTION;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -