1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/mw/thttpfields.h Wed Mar 31 12:27:01 2010 +0100
1.3 @@ -0,0 +1,544 @@
1.4 +// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// Purpose: This file contains definitions of types THttpStatusCode,
1.18 +// THttpParameter, THttpHeaderField, KHttpContentTypes,
1.19 +// KHttpCharacterSetNames and KHttpCharacterSetCodes
1.20 +// This header is a direct transcoding of [WSP] Appendix A - Assigned
1.21 +// Numbers, which contains the following assignment tables:
1.22 +// Table 34 : PDU Type Assignments
1.23 +// 35 : Abort Reason Code Assignments
1.24 +// 36 : Status Code Assignments
1.25 +// 37 : Capability Assignments
1.26 +// 38 : Well-Known Parameter Assignments
1.27 +// 39 : Header Field Name Assignments
1.28 +// 40 : Content-Type Assignments
1.29 +// 41 : ISO-639 Language Assignments
1.30 +// 42 : Character Set Assignments
1.31 +//
1.32 +//
1.33 +
1.34 +#if !defined(__THTTPFIELDS_H__)
1.35 +#define __THTTPFIELDS_H__
1.36 +
1.37 +//
1.38 +// Table 34 not implemented
1.39 +//
1.40 +
1.41 +
1.42 +//
1.43 +// Table 35 not implemented
1.44 +//
1.45 +
1.46 +
1.47 +/**
1.48 +HTTP/1.1 Status Codes: WSP Code Assignments
1.49 +
1.50 +(see [WSP] Appdx A Table 36)
1.51 +Codes from RFC-2616 added where necessary for HTTP Caching
1.52 +@publishedAll
1.53 +@deprecated
1.54 +*/
1.55 +enum THttpStatusCode
1.56 + {
1.57 + EHttpUnknown = 0,
1.58 + EHttpContinue = 100,
1.59 + EHttpSwitchingProtocols,
1.60 + EHttpWarnStaleContent = 110, // From RFC-2616
1.61 + EHttpWarnRevalidationFailed, // "
1.62 + EHttpWarnDisconnectedOperation, // "
1.63 + EHttpWarnHeuristicExpiration, // "
1.64 + EHttpWarnMiscellaneous, // "
1.65 + EHttpOK = 200,
1.66 + EHttpCreated,
1.67 + EHttpAccepted,
1.68 + EHttpNonAuthorativeInformation,
1.69 + EHttpNoContent,
1.70 + EHttpResetContent,
1.71 + EHttpPartialContent,
1.72 + EHttpWarnTransformationApplied, // From RFC-2616
1.73 + EHttpWarnPersistentMiscellanous, // "
1.74 + EHttpMultipleChoices = 300,
1.75 + EHttpMovedPermanently,
1.76 + EHttpMovedTemporarily,
1.77 + EHttpSeeOther,
1.78 + EHttpNotModified,
1.79 + EHttpUseProxy,
1.80 + EHttpTemporaryRedirect = 307, // From RFC-2616
1.81 + EHttpBadRequest = 400,
1.82 + EHttpUnauthorized,
1.83 + EHttpPaymentRequired,
1.84 + EHttpForbidden,
1.85 + EHttpNotFound,
1.86 + EHttpMethodNotAllowed,
1.87 + EHttpNotAcceptable,
1.88 + EHttpProxyAuthenticationRequired,
1.89 + EHttpRequestTimeout,
1.90 + EHttpConflict,
1.91 + EHttpGone,
1.92 + EHttpLengthRequired,
1.93 + EHttpPreconditionFailed,
1.94 + EHttpRequestEntityTooLarge,
1.95 + EHttpRequestURITooLong,
1.96 + EHttpUnsupportedMediaType,
1.97 + EHttpRequestRangeNotSatisfiable, // From RFC-2616
1.98 + EHttpExpectationFailed, // From RFC-2616
1.99 + EHttpInternalServerError = 500,
1.100 + EHttpNotImplemented,
1.101 + EHttpBadGateway,
1.102 + EHttpServiceUnavailable,
1.103 + EHttpGatewayTimeout,
1.104 + EHttpHTTPVersionNotSupported
1.105 + // All other codes are extension codes
1.106 + };
1.107 +
1.108 +
1.109 +//
1.110 +// Table 37 not implemented
1.111 +//
1.112 +
1.113 +
1.114 +/**
1.115 +HTTP/1.1 Parameters: WSP Well-known Parameter Assignments
1.116 +
1.117 +(see [WSP] Appdx A Table 38)
1.118 +@publishedAll
1.119 +@deprecated
1.120 +*/
1.121 +enum THttpParameter
1.122 + {
1.123 + EHttpQ = 0x00,
1.124 + EHttpCharset = 0x01,
1.125 + EHttpLevel = 0x02,
1.126 + EHttpType = 0x03,
1.127 + EHttpName = 0x04,
1.128 + EHttpFilename = 0x05,
1.129 + EHttpDifferences = 0x06,
1.130 + EHttpPadding = 0x07
1.131 + };
1.132 +
1.133 +
1.134 +/**
1.135 +HTTP/1.1 Headers: WSP Field Name Assignments
1.136 +
1.137 +(see [WSP] Appdx A Table 39)
1.138 +@publishedAll
1.139 +@deprecated
1.140 +*/
1.141 +enum THttpHeaderField
1.142 + {
1.143 + EHttpAccept = 0x00,
1.144 + EHttpAcceptCharset,
1.145 + EHttpAcceptEncoding,
1.146 + EHttpAcceptLanguage,
1.147 + EHttpAcceptRanges,
1.148 + EHttpAge,
1.149 + EHttpAllow,
1.150 + EHttpAuthorization,
1.151 + EHttpCacheControl = 0x08,
1.152 + EHttpConnection,
1.153 + EHttpContentBase,
1.154 + EHttpContentEncoding,
1.155 + EHttpContentLanguage,
1.156 + EHttpContentLength,
1.157 + EHttpContentLocation,
1.158 + EHttpContentMD5,
1.159 + EHttpContentRange = 0x10,
1.160 + EHttpContentType,
1.161 + EHttpDate,
1.162 + EHttpETag,
1.163 + EHttpExpires,
1.164 + EHttpFrom,
1.165 + EHttpHost,
1.166 + EHttpIfModifiedSince,
1.167 + EHttpIfMatch = 0x18,
1.168 + EHttpIfNoneMatch,
1.169 + EHttpIfRange,
1.170 + EHttpIfUnmodifiedSince,
1.171 + EHttpLocation,
1.172 + EHttpLastModified,
1.173 + EHttpMaxForwards,
1.174 + EHttpPragma,
1.175 + EHttpProxyAuthenticate = 0x20,
1.176 + EHttpProxyAuthorization,
1.177 + EHttpPublic,
1.178 + EHttpRange,
1.179 + EHttpReferer,
1.180 + EHttpRetryAfter,
1.181 + EHttpServer,
1.182 + EHttpTransferEncoding,
1.183 + EHttpUpgrade = 0x28,
1.184 + EHttpUserAgent,
1.185 + EHttpVary,
1.186 + EHttpVia,
1.187 + EHttpWarning,
1.188 + EHttpWWWAuthenticate,
1.189 + EHttpContentDisposition,
1.190 + EHttpXWapApplicationID = 0x2F, // Additional Enums required for WAP1.2 Push
1.191 + EHttpXWapContentURI,
1.192 + EHttpXWapInitiatorURI,
1.193 + EHttpAcceptApplication,
1.194 + EHttpBearerIndication,
1.195 + EHttpPushFlag,
1.196 + EHttpProfile,
1.197 + EHttpProfileDiff,
1.198 + EHttpProfileWarning
1.199 + };
1.200 +
1.201 +
1.202 +//
1.203 +// WSP Content-Type Assignments
1.204 +//
1.205 +// (see [WSP] Appdx A Table 40)
1.206 +//
1.207 +/**
1.208 +@publishedAll
1.209 +@deprecated
1.210 +*/
1.211 +const TInt KHttpNumContentTypes = 77;
1.212 +
1.213 +/**
1.214 +@publishedAll
1.215 +@deprecated
1.216 +*/
1.217 +const TInt KHttpMaxLenghtOfContentType = 42;
1.218 +
1.219 +/**
1.220 +@publishedAll
1.221 +@deprecated
1.222 +*/
1.223 +static const TText8* const KHttpContentTypes[] =
1.224 + {
1.225 + _S8("*/*"), //0x00
1.226 + _S8("text/*"),
1.227 + _S8("text/html"),
1.228 + _S8("text/plain"),
1.229 + _S8("text/x-hdml"),
1.230 + _S8("text/x-ttml"),
1.231 + _S8("text/x-vCalendar"),
1.232 + _S8("text/x-vCard"),
1.233 + _S8("text/vnd.wap.wml"), // 0x08
1.234 + _S8("text/vnd.wap.wmlscript"),
1.235 + _S8("application/vnd.wap.catc"),
1.236 + _S8("Multipart/*"),
1.237 + _S8("Multipart/mixed"),
1.238 + _S8("Multipart/form-data"),
1.239 + _S8("Multipart/byteranges"),
1.240 + _S8("multipart/alternative"),
1.241 + _S8("application/*"), // 0x10
1.242 + _S8("application/java-vm"),
1.243 + _S8("application/x-www-form-urlencoded"),
1.244 + _S8("application/x-hdmlc"),
1.245 + _S8("application/vnd.wap.wmlc"),
1.246 + _S8("application/vnd.wap.wmlscriptc"),
1.247 + _S8("application/vnd.wap.wsic"),
1.248 + _S8("application/vnd.wap.uaprof"),
1.249 + _S8("application/vnd.wap.wtls-ca-certificate"), // 0x18
1.250 + _S8("application/vnd.wap.wtls-user-certificate"),
1.251 + _S8("application/x-x509-ca-cert"),
1.252 + _S8("application/x-x509-user-cert"),
1.253 + _S8("image/*"),
1.254 + _S8("image/gif"),
1.255 + _S8("image/jpeg"),
1.256 + _S8("image/tiff"),
1.257 + _S8("image/png"), // 0x20
1.258 + _S8("image/vnd.wap.wbmp"),
1.259 + _S8("application/vnd.wap.multipart.*"),
1.260 + _S8("application/vnd.wap.multipart.mixed"),
1.261 + _S8("application/vnd.wap.multipart.form-data"),
1.262 + _S8("application/vnd.wap.multipart.byteranges"),
1.263 + _S8("application/vnd.wap.multipart.alternative"),
1.264 + _S8("application/xml"),
1.265 + _S8("text/xml"), // 0x28
1.266 + _S8("application/vnd.wap.wbxml"),
1.267 + _S8("application/x-x968-cross-cert"), //Additional C-Types in WAP 1.2
1.268 + _S8("application/x-x968-ca-cert"),
1.269 + _S8("application/x-x968-user-cert"),
1.270 + _S8("text/vnd.wap.si"),
1.271 + _S8("application/vnd.wap.sic"),
1.272 + _S8("text/vnd.wap.sl"),
1.273 + _S8("application/vnd.wap.slc"), //0x30
1.274 + _S8("text/vnd.wap.co"),
1.275 + _S8("application/vnd.wap.coc"),
1.276 + _S8("application/vnd.wap.multipart.related"),
1.277 + _S8("application/vnd.wap.sia"), //0x34 or 52 in decimal
1.278 + _S8("text/vnd.wap.connectivity-xml"),
1.279 + _S8("application/vnd.wap.connectivity-wbxml"),
1.280 + _S8("application/pkcs7-mime"),
1.281 + _S8("application/vnd.wap.hashed-certificate"),
1.282 + _S8("application/vnd.wap.signed-certificate"),
1.283 + _S8("application/vnd.wap.cert-response"),
1.284 + _S8("application/xhtml+xml"),
1.285 + _S8("application/wml+xml"),
1.286 + _S8("text/css"),
1.287 + _S8("application/vnd.wap.mms-message"),
1.288 + _S8("application/vnd.wap.rollover-certificate"),
1.289 + _S8("application/vnd.wap.locc+wbxml"),
1.290 + _S8("application/vnd.wap.loc+xml"),
1.291 + _S8("application/vnd.syncml.dm+wbxml"),
1.292 + _S8("application/vnd.syncml.dm+xml"),
1.293 + _S8("application/vnd.syncml.notification"),
1.294 + _S8("application/vnd.wap.xhtml+xml"),
1.295 + _S8("application/vnd.wv.csp.cir"),
1.296 + _S8("application/vnd.oma.dd+xml"),
1.297 + _S8("application/vnd.oma.drm.message"),
1.298 + _S8("application/vnd.oma.drm.content"),
1.299 + _S8("application/vnd.oma.drm.rights+xml"),
1.300 + _S8("application/vnd.oma.drm.rights+wbxml"),
1.301 + _S8("application/vnd.oma.drm.roap-trigger+xml"),
1.302 + _S8("application/vnd.oma.drm.roap-trigger+wbxml"),//0x4D
1.303 + };
1.304 +
1.305 +
1.306 +//
1.307 +// Table 41. Languages
1.308 +//
1.309 +/**
1.310 +@publishedAll
1.311 +@deprecated
1.312 +*/
1.313 +const TInt KHttpNumLanguages = 0x8D;
1.314 +
1.315 +/**
1.316 +@publishedAll
1.317 +@deprecated
1.318 +*/
1.319 +static const TText8* const KHttpLanguages[] =
1.320 + {
1.321 + _S8("AFAR AA"),
1.322 + _S8("ABKHAZIAN AB"),
1.323 + _S8("AFRIKAANS AF"),
1.324 + _S8("AMHARIC AM"),
1.325 + _S8("ARABIC AR"),
1.326 + _S8("ASSAMESE AS"),
1.327 + _S8("AYMARA AY"),
1.328 + _S8("AZERBAIJANI AZ"),
1.329 + _S8("BASHKIR BA"),
1.330 + _S8("BYELORUSSIAN BE"),
1.331 + _S8("BULGARIAN BG"),
1.332 + _S8("BIHARI BH"),
1.333 + _S8("BISLAMA BI"),
1.334 + _S8("BENGALI BANGLA BN"),
1.335 + _S8("TIBETAN BO"),
1.336 + _S8("BRETON BR"),
1.337 + _S8("CATALAN CA"),
1.338 + _S8("CORSICAN CO"),
1.339 + _S8("CZECH CS"),
1.340 + _S8("WELSH CY"),
1.341 + _S8("DANISH DA"),
1.342 + _S8("GERMAN DE"),
1.343 + _S8("BHUTANI DZ"),
1.344 + _S8("GREEK EL"),
1.345 + _S8("ENGLISH EN"),
1.346 + _S8("ESPERANTO EO"),
1.347 + _S8("SPANISH ES"),
1.348 + _S8("ESTONIAN ET"),
1.349 + _S8("BASQUE EU"),
1.350 + _S8("PERSIAN farsi FA"),
1.351 + _S8("FINNISH FI"),
1.352 + _S8("FIJI FJ"),
1.353 + _S8("URDU UR"),
1.354 + _S8("FRENCH FR"),
1.355 + _S8("UZBEK UZ"),
1.356 + _S8("IRISH GA"),
1.357 + _S8("SCOTS-GAELIC GD"),
1.358 + _S8("GALICIAN GL"),
1.359 + _S8("GUARANI GN"),
1.360 + _S8("GUJARATI GU"),
1.361 + _S8("HAUSA HA"),
1.362 + _S8("HEBREW HE"),
1.363 + _S8("HINDI HI"),
1.364 + _S8("CROATIAN HR"),
1.365 + _S8("HUNGARIAN HU"),
1.366 + _S8("ARMENIAN HY"),
1.367 + _S8("VIETNAMESE VI"),
1.368 + _S8("INDONESIAN ID"),
1.369 + _S8("WOLOF WO"),
1.370 + _S8("XHOSA XH"),
1.371 + _S8("ICELANDIC IS"),
1.372 + _S8("ITALIAN IT"),
1.373 + _S8("YORUBA YO"),
1.374 + _S8("JAPANESE JA"),
1.375 + _S8("JAVANESE JV"),
1.376 + _S8("GEORGIAN KA"),
1.377 + _S8("KAZAKH KK"),
1.378 + _S8("ZHUANG ZA"),
1.379 + _S8("CAMBODIAN KM"),
1.380 + _S8("KANNADA KN"),
1.381 + _S8("KOREAN KO"),
1.382 + _S8("KASHMIRI KS"),
1.383 + _S8("KURDISH KU"),
1.384 + _S8("KIRGHIZ KY"),
1.385 + _S8("CHINESE ZH"),
1.386 + _S8("LINGALA LN"),
1.387 + _S8("LAOTHIAN LO"),
1.388 + _S8("LITHUANIAN LT"),
1.389 + _S8("LATVIAN LETTISH LV"),
1.390 + _S8("MALAGASY MG"),
1.391 + _S8("MAORI MI"),
1.392 + _S8("MACEDONIAN MK"),
1.393 + _S8("MALAYALAM ML"),
1.394 + _S8("MONGOLIAN MN"),
1.395 + _S8("MOLDAVIAN MO"),
1.396 + _S8("MARATHI MR"),
1.397 + _S8("MALAY MS"),
1.398 + _S8("MALTESE MT"),
1.399 + _S8("BURMESE MY"),
1.400 + _S8("UKRAINIAN UK"),
1.401 + _S8("NEPALI NE"),
1.402 + _S8("DUTCH NL"),
1.403 + _S8("NORWEGIAN NO"),
1.404 + _S8("OCCITAN OC"),
1.405 + _S8("AFAN OROMO OM"),
1.406 + _S8("ORIYA OR"),
1.407 + _S8("PUNJABI PA"),
1.408 + _S8("POLISH PL"),
1.409 + _S8("PASHTO PUSHTO PS"),
1.410 + _S8("PORTUGUESE PT"),
1.411 + _S8("QUECHUA QU"),
1.412 + _S8("ZULU ZU"),
1.413 + _S8("KURUNDI RN"),
1.414 + _S8("ROMANIAN RO"),
1.415 + _S8("RUSSIAN RU"),
1.416 + _S8("KINYARWANDA RW"),
1.417 + _S8("SANSKRIT SA"),
1.418 + _S8("SINDHI SD"),
1.419 + _S8("SANGHO SG"),
1.420 + _S8("SERBO-CROATIAN SH"),
1.421 + _S8("SINGHALESE SI"),
1.422 + _S8("SLOVAK SK"),
1.423 + _S8("SLOVENIAN SL"),
1.424 + _S8("SAMOAN SM"),
1.425 + _S8("SHONA SN"),
1.426 + _S8("SOMALI SO"),
1.427 + _S8("ALBANIAN SQ"),
1.428 + _S8("SERBIAN SR"),
1.429 + _S8("SISWATI SS"),
1.430 + _S8("SESOTHO ST"),
1.431 + _S8("SUNDANESE SU"),
1.432 + _S8("SWEDISH SV"),
1.433 + _S8("SWAHILI SW"),
1.434 + _S8("TAMIL TA"),
1.435 + _S8("TELUGU TE"),
1.436 + _S8("TAJIK TG"),
1.437 + _S8("THAI TH"),
1.438 + _S8("TIGRINYA TI"),
1.439 + _S8("TURKMEN TK"),
1.440 + _S8("TAGALOG TL"),
1.441 + _S8("SETSWANA TN"),
1.442 + _S8("TONGA TO"),
1.443 + _S8("TURKISH TR"),
1.444 + _S8("TSONGA TS"),
1.445 + _S8("TATAR TT"),
1.446 + _S8("TWI TW"),
1.447 + _S8("UIGUR UG"),
1.448 + _S8(""),
1.449 + _S8("NAURU NA"),
1.450 + _S8("FAROESE FO"),
1.451 + _S8("FRISIAN FY"),
1.452 + _S8("INTERLINGUA IA"),
1.453 + _S8("VOLAPUK VO"),
1.454 + _S8("INTERLINGUE IE"),
1.455 + _S8("INUPIAK IK"),
1.456 + _S8("YIDDISH YI"),
1.457 + _S8("INUKTITUT IU"),
1.458 + _S8("GREENLANDIC KL"),
1.459 + _S8("LATIN LA"),
1.460 + _S8("RHAETO-ROMANCE RM")
1.461 + };
1.462 +
1.463 +//
1.464 +// WSP Character Set Assignments
1.465 +//
1.466 +// (see [WSP] Appdx A Table 42)
1.467 +//
1.468 +// The following two arrays form a paired look-up table
1.469 +//
1.470 +/**
1.471 +@publishedAll
1.472 +@deprecated
1.473 +*/
1.474 +const TInt KHttpNumCharacterSets = 15;
1.475 +
1.476 +/**
1.477 +@publishedAll
1.478 +@deprecated
1.479 +*/
1.480 +static const TText8* const KHttpCharacterSetNames[] =
1.481 + {
1.482 + _S8("big5"),
1.483 + _S8("iso-10646-ucs-2"),
1.484 + _S8("iso-8859-1"),
1.485 + _S8("iso-8859-2"),
1.486 + _S8("iso-8859-3"),
1.487 + _S8("iso-8859-4"),
1.488 + _S8("iso-8859-5"),
1.489 + _S8("iso-8859-6"),
1.490 + _S8("iso-8859-7"),
1.491 + _S8("iso-8859-8"),
1.492 + _S8("iso-8859-9"),
1.493 + _S8("shift_JIS"),
1.494 + _S8("us-ascii"),
1.495 + _S8("utf-8"),
1.496 + _S8("gsm-default-alphabet") // (not yet assigned)
1.497 + };
1.498 +
1.499 +/**
1.500 +@publishedAll
1.501 +@deprecated
1.502 +*/
1.503 +static const TInt KHttpCharacterSetCodes[] =
1.504 + {
1.505 + 0x07ea, // big5
1.506 + 0x03e8, // iso-10646-ucs-2
1.507 + 0x04, // iso-8859-1
1.508 + 0x05, // iso-8859-2
1.509 + 0x06, // iso-8859-3
1.510 + 0x07, // iso-8859-4
1.511 + 0x08, // iso-8859-5
1.512 + 0x09, // iso-8859-6
1.513 + 0x0a, // iso-8859-7
1.514 + 0x0b, // iso-8859-8
1.515 + 0x0c, // iso-8859-9
1.516 + 0x11, // shift_JIS
1.517 + 0x03, // us-ascii
1.518 + 0x6a, // utf-8
1.519 + 0xffff // gsm-default-alphabet (not yet assigned)
1.520 + };
1.521 +
1.522 +
1.523 +/**
1.524 +Additional enumeration implementations for well known field values
1.525 +that may be found in the Cache-Control header
1.526 +As described in section 14.9 of RFC-2616
1.527 +Assigned WSP encodings
1.528 +@publishedAll
1.529 +@deprecated
1.530 +*/
1.531 +enum TCacheControlFieldValue
1.532 + {
1.533 + ECacheControlNoCache = 0x80,// "no-cache"
1.534 + ECacheCtrlNoStore, // "no-store"
1.535 + ECacheCtrlMaxAge, // "max-age"
1.536 + ECacheCtrlMaxStale, // "max-stale"
1.537 + ECacheCtrlMinFresh, // "min-fresh"
1.538 + ECacheCtrlOnlyIfCached, // "only-if-cached"
1.539 + ECacheCtrlPublic, // "public"
1.540 + ECacheCtrlPrivate, // "private"
1.541 + ECacheCtrlNoTransform, // "no-transform"
1.542 + ECacheCtrlMustRevalidate, // "must-revalidate"
1.543 + ECacheCtrlProxyRevalidate, // "proxy-revalidate"
1.544 + ECacheCtrlCacheExtension // "cache-extension"
1.545 + };
1.546 +
1.547 +#endif // __THTTPFIELDS_H__