1.1 --- a/epoc32/include/obexconstants.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/obexconstants.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,689 @@
1.4 -obexconstants.h
1.5 +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// 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.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +//
1.19 +
1.20 +
1.21 +
1.22 +/**
1.23 + @file
1.24 + @publishedAll
1.25 + @released
1.26 +*/
1.27 +
1.28 +#ifndef __OBEXCONSTANTS_H
1.29 +#define __OBEXCONSTANTS_H
1.30 +
1.31 +#include <e32std.h>
1.32 +#include <es_sock.h>
1.33 +#include <ir_sock.h>
1.34 +#include <bt_sock.h>
1.35 +#include <obexpanics.h>
1.36 +
1.37 +//common to request & resp digests
1.38 +
1.39 +/** @internalComponent */
1.40 +const TInt KChallResponseSize = 58;
1.41 +/** @internalComponent */
1.42 +const TInt KMinChallResponseSize = 18; //Nonce(16) + tag(1) + size(1)
1.43 +/** @internalComponent */
1.44 +const TInt KObexNonceSize = 16;
1.45 +/** @internalComponent */
1.46 +const TUint8 KObexRequireUID = 0x01;
1.47 +
1.48 +//request or chall
1.49 +/** @internalComponent */
1.50 +const TUint KObexChallNonceTag = 0;
1.51 +/** @internalComponent */
1.52 +const TUint8 KObexChallOptionsTag = 0x01;
1.53 +/** @internalComponent */
1.54 +const TUint8 KObexChallRealmTag = 0x02;
1.55 +/** @internalComponent */
1.56 +const TInt KObexChallOptionSize = 1; //this can't be changed from one without making
1.57 +/** @internalComponent */
1.58 +const TUint KObexChallHeaderSize = 23; //assuming no Realm data
1.59 +
1.60 +//response
1.61 +/** @internalComponent */
1.62 +const TUint KObexRespTag = 0;
1.63 +/** @internalComponent */
1.64 +const TInt KObexRespSize = 16;
1.65 +/** @internalComponent */
1.66 +const TUint8 KObexRespUserIDTag = 0x01;
1.67 +/** @internalComponent */
1.68 +const TUint8 KObexRespNonceTag = 0x02;
1.69 +
1.70 +/** @internalComponent */
1.71 +const TUint8 KObexHeaderTypeMask = 0xc0;
1.72 +/** @internalComponent */
1.73 +const TUint8 KObexHeaderTypeOffset = 6;
1.74 +
1.75 +#ifdef _UNICODE
1.76 +/** @internalComponent */
1.77 +const TInt KUidOBEXTransportModule = 0x10003d56;
1.78 +#else
1.79 +/** @internalComponent */
1.80 +const TInt KUidOBEXTransportModule = 0x1000169c;
1.81 +#endif
1.82 +
1.83 +/** @internalComponent */
1.84 +const TInt KUsbIntStringDescLength = 30;
1.85 +
1.86 +/** @internalComponent */
1.87 +const TUint8 KFourByteTimeHeaderAddress = 0xc4;
1.88 +
1.89 +// Header mask definitions.
1.90 +// Old style accessor for which headers are present or
1.91 +// should be sent by an object. Now deprecated, use the
1.92 +// header iterator instead.
1.93 +/** @internalComponent */
1.94 +const TUint16 KObexHdrName = 0x0001;
1.95 +/** @internalComponent */
1.96 +const TUint16 KObexHdrType = 0x0002;
1.97 +/** @internalComponent */
1.98 +const TUint16 KObexHdrLength = 0x0004;
1.99 +/** @internalComponent */
1.100 +const TUint16 KObexHdrTime = 0x0008;
1.101 +/** @internalComponent */
1.102 +const TUint16 KObexHdrDescription = 0x0010;
1.103 +/** @internalComponent */
1.104 +const TUint16 KObexHdrTarget = 0x0020;
1.105 +/** @internalComponent */
1.106 +const TUint16 KObexHdrConnectionID = 0x0040;
1.107 +/** @internalComponent */
1.108 +const TUint16 KObexHdrBody = 0x0080;
1.109 +/** @internalComponent */
1.110 +const TUint16 KObexHdrEndOfBody = 0x0100;
1.111 +/** @internalComponent */
1.112 +const TUint16 KObexHdrHttp = 0x0200;
1.113 +/** @internalComponent */
1.114 +const TUint16 KObexHdrAppParam = 0x0400;
1.115 +/** @internalComponent */
1.116 +const TUint16 KObexHdrUserDefined = 0x0800;
1.117 +/** @internalComponent */
1.118 +const TUint16 KObexHdrCount = 0x1000;
1.119 +/** @internalComponent */
1.120 +const TUint16 KObexHdrCreatorID = 0x2000;
1.121 +/** @internalComponent */
1.122 +const TUint16 KObexHdrWanUUID = 0x4000;
1.123 +/** @internalComponent */
1.124 +const TUint16 KObexHdrObjectClass = 0x8000;
1.125 +
1.126 +/** @internalComponent */
1.127 +const TUint8 KObexUserDefinedHdrAddrMin = 0x30; //start of user defined header address range
1.128 +/** @internalComponent */
1.129 +const TUint8 KObexUserDefinedHdrAddrMax = 0x3F; //end of user defined header address range
1.130 +
1.131 +/** @internalComponent */
1.132 +const TUint8 KObexVersion = 0x10; ///< Version 1.0 (still correct for Obex spec v 1.2)
1.133 +
1.134 +/** @internalComponent */
1.135 +const TUint8 KObexObjectFieldSize = 127;
1.136 +/** @internalComponent */
1.137 +const TUint8 KObexObjectDescriptionSize = 255;
1.138 +
1.139 +// Extended errors for IrObex
1.140 +
1.141 +/** Must not use as not in the allocated range */
1.142 +const TInt KErrIrObexRespBase = - 5500;
1.143 +
1.144 +/** Extended error for IrObex - No other infrared device found */
1.145 +const TInt KErrIrObexClientNoDevicesFound = -5501;
1.146 +
1.147 +/** Extended error for IrObex - Other IR device cannot handle IrObex */
1.148 +const TInt KErrIrObexClientPeerDoesNotHaveObex = -5502;
1.149 +
1.150 +/** Extended error for IrObex - Other IR device aborted the transfer */
1.151 +const TInt KErrIrObexClientPutPeerAborted = -5503;
1.152 +
1.153 +/** Extended error for IrObex - Peer device aborted data transmission/obex sending */
1.154 +const TInt KErrIrObexServerPutPeerAborted = -5507;
1.155 +
1.156 +/** Extended error for IrObex - Cannot authorise the challenge so link dropped */
1.157 +const TInt KErrIrObexConnectChallRejected = -5512;
1.158 +
1.159 +// Other Obex errors defined in the system but no longer used
1.160 +// Do not reuse the number!
1.161 +// KErrIrObexClientPutPeerCannotHandleObject -5504
1.162 +// KErrIrObexServerPutFileWriteError -5509
1.163 +// KErrIrObexClientFirstPutFailed -5510
1.164 +// KErrIrObexClientSubsequentPutFailed -5511
1.165 +
1.166 +/** Unexpected event for the given state */
1.167 +const TInt KErrIrObexBadEvent = -5513;
1.168 +
1.169 +/** Event occurred while Server is stopped */
1.170 +const TInt KErrIrObexServerStopped = -5514;
1.171 +
1.172 +/** Packet received while state machine is in a wait state */
1.173 +const TInt KErrIrObexPacketDuringWait = -5515;
1.174 +
1.175 +// There are other error codes defined at the end of this file,
1.176 +// which are a direct mapping of specific Obex error codes and
1.177 +// are returned by the client.
1.178 +
1.179 +
1.180 +// Flags used by Connect
1.181 +// ...None in OBEX 1.0
1.182 +
1.183 +// Flags used by SetPath
1.184 +/** @internalComponent */
1.185 +const TUint8 KObexSetPathParent = 0x01;
1.186 +
1.187 +/**
1.188 +Version number for TObexTransportInfo and derived classes.
1.189 +When iVersion is set to this value the following fields of TObexTransportInfo
1.190 +must be set:
1.191 +iTransportName,
1.192 +iReceiveMtu
1.193 +iTransmitMtu
1.194 +The iVersion member variable must be set to this value. If in future any of the
1.195 +iFuture variables are used a new version constant will be created.
1.196 +
1.197 +@see TObexTransportInfo
1.198 +@publishedAll
1.199 +@released
1.200 +*/
1.201 +const TInt KObexTransportInfoVersion0 = 0;
1.202 +
1.203 +/**
1.204 +Default for the receive and transmit MTU sizes
1.205 +Use this default value for setting the iReceiveMtu or iTransmitMtu in TObexTransportInfo
1.206 +objects or derived classes.
1.207 +
1.208 +@see TObexTransportInfo
1.209 +@publishedAll
1.210 +@released
1.211 +*/
1.212 +const TInt KObexDefaultMtuSize = 4000;
1.213 +
1.214 +/**
1.215 +Default value for the number of discovery slots to use. Use this value as a default
1.216 +for iDiscoverySlots in TObexIrdaV2TransportInfo.
1.217 +
1.218 +@see TObexIrdaV2TransportInfo
1.219 +@publishedAll
1.220 +@released
1.221 +*/
1.222 +const TUint KObexIrdaDefaultDiscoverySlotsToUse = 1;
1.223 +
1.224 +/**
1.225 +Default value for the number of discovery attempts made. Use this value as a default for iDiscoveryAttempts
1.226 +in TObexIrdaV2TransportInfo.
1.227 +@see TObexIrdaV2TransportInfo
1.228 +@publishedAll
1.229 +@released
1.230 +*/
1.231 +const TUint KObexIrdaDefaultDiscoveryAttempts = 4;
1.232 +
1.233 +// Constants used to define which transport Obex will run over.
1.234 +// Used in TObexTransportInfo and TObexProtocolInfo's iTransport member.
1.235 +
1.236 +/**
1.237 +Protocol string when running over IrDA
1.238 +@see TObexIrProtocolInfo
1.239 +@see TObexTransportInfo
1.240 +@publishedAll
1.241 +@released
1.242 +*/
1.243 +_LIT(KObexIrTTPProtocol, "IrTinyTP");
1.244 +
1.245 +/**
1.246 +Protocol string when running over IrDA
1.247 +Using this version indicates that the configuration object contains discovery parameters.
1.248 +@see TObexIrProtocolInfo
1.249 +@publishedAll
1.250 +@released
1.251 +*/
1.252 +_LIT(KObexIrTTPProtocolV2, "IrTinyTP-V2");
1.253 +
1.254 +/**
1.255 +Protocol string when running over IrDA
1.256 +Using this version indicates that the configuration object contains the device nickname.
1.257 +@see TObexIrProtocolInfo
1.258 +@publishedAll
1.259 +
1.260 +@capability WriteDeviceData If the TObexIrV3TransportInfo is passed as the argument
1.261 + to CObexServer::NewL or CObexClient::NewL and the associated
1.262 + name is valid.
1.263 +@released
1.264 +*/
1.265 +_LIT(KObexIrTTPProtocolV3, "IrTinyTP-V3");
1.266 +
1.267 +/**
1.268 +Protocol string when running over Bluetooth
1.269 +@see TObexBluetoothProtocolInfo
1.270 +@see TObexTransportInfo
1.271 +@publishedAll
1.272 +@released
1.273 +*/
1.274 +_LIT(KObexRfcommProtocol, "RFCOMM");
1.275 +
1.276 +/**
1.277 +Protocol string when running over USB
1.278 +@see TObexUsbProtocolInfo
1.279 +@see TObexTransportInfo
1.280 +@publishedAll
1.281 +@released
1.282 +*/
1.283 +_LIT(KObexUsbProtocol, "USB");
1.284 +
1.285 +/**
1.286 +Place holder for...
1.287 +protocol string that should be used
1.288 +if a Win32 emulator USB transport were
1.289 +to be created for testing.
1.290 +@see TObexUsbProtocolInfo
1.291 +@see TObexTransportInfo
1.292 +@publishedAll
1.293 +@released
1.294 +*/
1.295 +_LIT(KObexWin32UsbProtocol, "Win32Usb");
1.296 +
1.297 +/**
1.298 +Protocol string when running over USB using client driver extensions
1.299 +@see TObexUsbProtocolInfoV2
1.300 +@see TObexTransportInfo
1.301 +@publishedAll
1.302 +@released
1.303 +*/
1.304 +_LIT(KObexUsbProtocolV2, "USB-V2");
1.305 +
1.306 +/**
1.307 +This class is derived for each underlying transport protocol OBEX
1.308 +runs over.
1.309 +
1.310 +The iTransport member holds the unique name for the transport. For example for
1.311 +infra-red (TinyTP) this is "IrTinyTP" or KObexIrTTPProtocol.
1.312 +
1.313 +@see TObexIrProtocolInfo for running over TinyTP
1.314 +@see TObexBluetoothProtocolInfo for running over Rfcomm
1.315 +@see TObexUsbProtocolInfo for running over USB
1.316 +@see TObexUsbProtocolInfoV2 for running over USB using client driver extensions
1.317 +
1.318 +@see KObexIrTTPProtocol
1.319 +@see KObexIrTTPProtocolV2
1.320 +@see KObexRfcommProtocol
1.321 +@see KObexUsbProtocol
1.322 +@see KObexUsbProtocolV2
1.323 +
1.324 +@publishedAll
1.325 +@released
1.326 +*/
1.327 +NONSHARABLE_CLASS(TObexProtocolInfo)
1.328 + {
1.329 +public:
1.330 + /** Holds the unique name for the transport. */
1.331 + TBuf<60> iTransport;
1.332 +private:
1.333 + // This data padding has been added to help prevent future binary compatibility breaks
1.334 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.335 + TUint32 iPadding1;
1.336 + TUint32 iPadding2;
1.337 + };
1.338 +
1.339 +/**
1.340 +Used to describe IrDA specific protocol information
1.341 +
1.342 +To access the default OBEX server, the IAS class value should be "OBEX"
1.343 +and the IAS attribute name "IrDA:TinyTP:LsapSel".
1.344 +
1.345 +@publishedAll
1.346 +@released
1.347 +*/
1.348 +NONSHARABLE_CLASS(TObexIrProtocolInfo) : public TObexProtocolInfo
1.349 + {
1.350 +public:
1.351 + /** IrDA address information for this connection, as used in the IrDA sockets interface.
1.352 + Refer to the SDK for more information about this.
1.353 + Its main use is for setting the port that the local machine will listen on. */
1.354 + TIrdaSockAddr iAddr;
1.355 + /** The IAS class value that the OBEX session will register its listener port,
1.356 + or request remote port with. */
1.357 + TBuf8<KIASClassNameMax> iClassName;
1.358 + /** The IAS attribute value that the OBEX session will register its listener port,
1.359 + or request remote port with. */
1.360 + TBuf8<KIASAttributeNameMax> iAttributeName;
1.361 + /** The number of discovery slots to use. */
1.362 + TUint8 iDiscoverySlots;
1.363 + /** The number of discovery attempts to make. */
1.364 + TUint8 iDiscoveryAttempts;
1.365 +
1.366 +private:
1.367 + // This data padding has been added to help prevent future binary compatibility breaks
1.368 + // None of these padding variables have been zero'd because they are currently not used
1.369 + TUint16 iPadding1;
1.370 + TUint32 iPadding2;
1.371 + TUint32 iPadding3;
1.372 + TUint32 iPadding4;
1.373 + };
1.374 +
1.375 +/**
1.376 +Used to describe Bluetooth specific protocol information
1.377 +
1.378 +@publishedAll
1.379 +@released
1.380 +*/
1.381 +NONSHARABLE_CLASS(TObexBluetoothProtocolInfo) : public TObexProtocolInfo
1.382 + {
1.383 +public:
1.384 + /**
1.385 + For OBEX servers:
1.386 + This defines the server channel on which the OBEX server listens
1.387 + for connections. The server channel is set using SetPort on the
1.388 + TRfcommSockAddr.
1.389 + Note:
1.390 + 1) Unless the channel is defined as KRfcommPassiveAutoBind
1.391 + it may be in use when the obex server attempts to 'bind' to it
1.392 + 2) If the channel is defined as KRfcommPassiveAutoBind
1.393 + then when the server is FIRST started it will attempt
1.394 + to find a free RFComm channel. If this is successful
1.395 + that free channel will be used as the server channel
1.396 + for the life time of the obex server including
1.397 + when it is 'stopped' and re-'started'.
1.398 + 3) When the obex server is stopped, and very
1.399 + briefly when a bluetooth connection comes down, the
1.400 + obex server releases its server channel. It is possible
1.401 + therefore that during this time another application might bind
1.402 + to it. This will cause an error when the obex server tries
1.403 + to re-bind.
1.404 +
1.405 + Also note that a Bluetooth OBEX server will itself set the Object Transfer
1.406 + bit in the Service Class as required by the Generic Object Exchange
1.407 + Profile so the user need not do this.
1.408 + @see CObexServer
1.409 +
1.410 + For OBEX clients:
1.411 + This defines the server channel and the
1.412 + device address to connect to. The server channel
1.413 + and device address are set respectively using SetPort
1.414 + and SetBTAddr on the TRfcommSockAddr.
1.415 + */
1.416 + TRfcommSockAddr iAddr;
1.417 +
1.418 +private:
1.419 + // This data padding has been added to help prevent future binary compatibility breaks
1.420 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.421 + TUint32 iPadding1;
1.422 + TUint32 iPadding2;
1.423 + };
1.424 +
1.425 +/**
1.426 +Used to describe USB specific protocol information
1.427 +
1.428 +@publishedAll
1.429 +@released
1.430 +*/
1.431 +NONSHARABLE_CLASS(TObexUsbProtocolInfo) : public TObexProtocolInfo
1.432 + {
1.433 +public:
1.434 + /** Provides a string to be attached to the Obex function's Communication Class interface,
1.435 + which may be used to identify the Obex service. */
1.436 + TBuf16<KUsbIntStringDescLength> iInterfaceStringDescriptor;
1.437 + };
1.438 +
1.439 +/**
1.440 +Used to set options used by the extended USB client driver for improved performance
1.441 +
1.442 +@see TObexUsbProtocolInfo
1.443 +@see RDevUsbcClient
1.444 +@publishedAll
1.445 +@released
1.446 +*/
1.447 +NONSHARABLE_CLASS(TObexUsbProtocolInfoV2) : public TObexUsbProtocolInfo
1.448 + {
1.449 +public:
1.450 + /** Bitmap containing the bandwidth priorities to use on IN and OUT endpoints
1.451 + @see TUsbcBandwidthPriority
1.452 + */
1.453 + TInt iBandwidthPriority;
1.454 + /** Specifies whether to use DMA on the bulk OUT endpoint */
1.455 + TBool iDmaOnOutEndpoint;
1.456 + /** Specifies whether to use DMA on the bulk IN endpoint */
1.457 + TBool iDmaOnInEndpoint;
1.458 +
1.459 +private:
1.460 + // This data padding has been added to help prevent future binary compatibility breaks
1.461 + // None of these padding variables have been zero'd because they are currently not used
1.462 + TUint32 iPadding1;
1.463 + TUint32 iPadding2;
1.464 + TUint32 iPadding3;
1.465 + TUint32 iPadding4;
1.466 + };
1.467 +
1.468 +/**
1.469 +Contains information about OBEX packet sizing policy, defining the
1.470 +maximum buffer size for receive and transmit packets
1.471 +*/
1.472 +NONSHARABLE_CLASS(TObexProtocolPolicy)
1.473 + {
1.474 +public:
1.475 + IMPORT_C TObexProtocolPolicy (); // Sets version and default values
1.476 +
1.477 + IMPORT_C TInt SetReceiveMtu ( TUint16 aReceiveMtu );
1.478 + IMPORT_C TInt SetTransmitMtu ( TUint16 aTransmitMtu );
1.479 + IMPORT_C TUint16 Version () const;
1.480 + IMPORT_C TUint16 ReceiveMtu () const;
1.481 + IMPORT_C TUint16 TransmitMtu () const;
1.482 +
1.483 +private:
1.484 + TUint16 iVersion;
1.485 + TUint16 iReceiveMtu;
1.486 + TUint16 iTransmitMtu;
1.487 +
1.488 + // This data padding has been added to help prevent future binary compatibility breaks
1.489 + // None of these padding variables have been zero'd because they are currently not used
1.490 + TUint32 iPadding1;
1.491 + TUint32 iPadding2;
1.492 + TUint32 iPadding3;
1.493 + TUint32 iPadding4;
1.494 + };
1.495 +
1.496 +struct TObexConnectionInfo;
1.497 +
1.498 +/**
1.499 +TObexConnectInfo
1.500 +This structure contains information used during OBEX connection. iVersion
1.501 +holds the encoded OBEX version of the machine, use @c VersionMajor() and
1.502 +@c VersionMinor() to extract the parts of the version number (each having a
1.503 +value from 0 to 15). @c iFlags holds OBEX connection flags. @c iWho holds
1.504 +the Who attribute from the connect packet, if any was specified, or
1.505 +otherwise has a length of 0.
1.506 +It is recommended that this class is only ever allocated on the heap as it is quite big.
1.507 +*/
1.508 +NONSHARABLE_CLASS(TObexConnectInfo)
1.509 + {
1.510 +public:
1.511 + IMPORT_C TObexConnectInfo();
1.512 + IMPORT_C TUint8 VersionMajor() const;
1.513 + IMPORT_C TUint8 VersionMinor() const;
1.514 +public:
1.515 + TUint8 iVersion; /** Encoded OBEX version of the machine*/
1.516 + TUint8 iFlags; /** iFlags holds OBEX connection flags*/
1.517 + TBuf8<KObexObjectDescriptionSize> iWho; /** the Who attribute from the connect packet, if any was specified */
1.518 + TBuf8<KObexObjectDescriptionSize> iTargetHeader; /** the Target header from the connect packet, if any was specified */
1.519 +
1.520 +private:
1.521 + // This data padding has been added to help prevent future binary compatibility breaks
1.522 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.523 + TUint32 iPadding1;
1.524 + TUint32 iPadding2;
1.525 + };
1.526 +
1.527 +
1.528 +
1.529 +//if these codes are extended due to a IRObex spec update ensure
1.530 +//that the TInt immediately below are updated
1.531 +//and the default in the method IrOBEXUtil::ObexResponse is also updated
1.532 +enum TObexResponse
1.533 + {
1.534 +/** Response is "Continue" */
1.535 + ERespContinue = 0x10,
1.536 +
1.537 +/** Response is "Success" */
1.538 + ERespSuccess = 0x20,
1.539 +
1.540 +/** Response is "Created" */
1.541 + ERespCreated = 0x21,
1.542 +
1.543 +/** Response is "Accepted" */
1.544 + ERespAccepted = 0x22,
1.545 +
1.546 +/** Response is "Non-Authenticated Information" */
1.547 + ERespNonAuthInfo = 0x23,
1.548 +
1.549 +/** Response is "No Content" */
1.550 + ERespNoContent = 0x24,
1.551 +
1.552 +/** Response is "Reset Content" */
1.553 + ERespResetContent = 0x25,
1.554 +
1.555 +/** Response is "Partial Content" */
1.556 + ERespPartialContent = 0x26,
1.557 +
1.558 +/** Response is "Multiple Choices" */
1.559 + ERespMultipleChoices = 0x30,
1.560 +
1.561 +/** Response is "Moved Permanently" */
1.562 + ERespMovedPerm = 0x31,
1.563 +
1.564 +/** Response is "Moved Temporarily" */
1.565 + ERespMovedTemp = 0x32,
1.566 +
1.567 +/** Response is "See Other" */
1.568 + ERespSeeOther = 0x33,
1.569 +
1.570 +/** Response is "Not Modified" */
1.571 + ERespNotModified = 0x34,
1.572 +
1.573 +/** Response is "Use Proxy" */
1.574 + ERespUseProxy = 0x35,
1.575 +
1.576 +/** Response is "Bad Request" */
1.577 + ERespBadRequest = 0x40,
1.578 +
1.579 +/** Response is "Unauthorized" */
1.580 + ERespUnauthorized = 0x41,
1.581 +
1.582 +/** Response is "Payment Required" */
1.583 + ERespPaymentRequired = 0x42,
1.584 +
1.585 +/** Response is "Forbidden" */
1.586 + ERespForbidden = 0x43,
1.587 +
1.588 +/** Response is "Not Found" */
1.589 + ERespNotFound = 0x44,
1.590 +
1.591 +/** Response is "Method Not Allowed" */
1.592 + ERespMethodNotAllowed = 0x45,
1.593 +
1.594 +/** Response is "Not Acceptable" */
1.595 + ERespNotAcceptable = 0x46,
1.596 +
1.597 +/** Response is "Proxy Authentication is Required" */
1.598 + ERespProxyAuthenReqd = 0x47,
1.599 +
1.600 +/** Response is "Timed Out" */
1.601 + ERespTimedOut = 0x48,
1.602 +
1.603 +/** Response is "Conflict" */
1.604 + ERespConflict = 0x49,
1.605 +
1.606 +/** Response is "Gone" */
1.607 + ERespGone = 0x4A,
1.608 +
1.609 +/** Response is "Length Required" */
1.610 + ERespLengthReqd = 0x4B,
1.611 +
1.612 +/** Response is "Precondition Failed" */
1.613 + ERespPreCondFailed = 0x4C,
1.614 +
1.615 +/** Response is "Required Entity is Too Large" */
1.616 + ERespReqEntityTooLarge = 0x4D,
1.617 +
1.618 +/** Response is "Required URL is Too Large" */
1.619 + ERespReqURLTooLarge = 0x4E,
1.620 +
1.621 +/** Response is "Unsupported Media Type" */
1.622 + ERespUnsupMediaType = 0x4F,
1.623 +
1.624 +/** Response is "Internal Error" */
1.625 + ERespInternalError = 0x50,
1.626 +
1.627 +/** Response is "Not Implemented" */
1.628 + ERespNotImplemented = 0x51,
1.629 +
1.630 +/** Response is "Bad Gateway" */
1.631 + ERespBadGateway = 0x52,
1.632 +
1.633 +/** Response is "Service Unavailable" */
1.634 + ERespServiceUnavail = 0x53,
1.635 +
1.636 +/** Response is "Gateway Timeout" */
1.637 + ERespGatewayTimeout = 0x54,
1.638 +
1.639 +/** Response is "HTTP Version is Not Supported" */
1.640 + ERespHTTPVerNotSupp = 0x55,
1.641 +
1.642 +/** Response is "Database is Full" */
1.643 + ERespDatabaseFull = 0x60,
1.644 +
1.645 +/** Response is "Database is Locked" */
1.646 + ERespDatabaseLocked = 0x61,
1.647 +
1.648 +/** Response is "Service is Unavailable" */
1.649 + ERespServiceUnavailable = 0xD3,
1.650 + };
1.651 +
1.652 +
1.653 +//some error codes to be used specifically by the client
1.654 +//these shall, be mapped directly to OBEX defined error codes.
1.655 +const TInt KErrIrObexRespSuccess = KErrIrObexRespBase - ERespSuccess; //-5532 returns 0x20 (0xA0)
1.656 +const TInt KErrIrObexRespCreated = KErrIrObexRespBase - ERespCreated; //-5533 returns 0x21 (0xA1)
1.657 +const TInt KErrIrObexRespAccepted = KErrIrObexRespBase - ERespAccepted; //-5534 returns 0x22 (0xA2)
1.658 +const TInt KErrIrObexRespNonAuthInfo = KErrIrObexRespBase - ERespNonAuthInfo; //-5535 returns 0x23 (0xA3)
1.659 +const TInt KErrIrObexRespNoContent = KErrIrObexRespBase - ERespNoContent; //-5536 returns 0x24 (0xA4)
1.660 +const TInt KErrIrObexRespResetContent = KErrIrObexRespBase - ERespResetContent; //-5537 returns 0x25 (0xA5)
1.661 +const TInt KErrIrObexRespPartialContent = KErrIrObexRespBase - ERespPartialContent; //-5538 returns 0x26 (0xA6)
1.662 +const TInt KErrIrObexRespMultipleChoices = KErrIrObexRespBase - ERespMultipleChoices; //-5548 returns 0x30 (0xB0)
1.663 +const TInt KErrIrObexRespMovedPerm = KErrIrObexRespBase - ERespMovedPerm; //-5549 returns 0x31 (0xB1)
1.664 +const TInt KErrIrObexRespMovedTemp = KErrIrObexRespBase - ERespMovedTemp; //-5550 returns 0x32 (0xB2)
1.665 +const TInt KErrIrObexRespSeeOther = KErrIrObexRespBase - ERespSeeOther; //-5551 returns 0x33 (0xB3)
1.666 +const TInt KErrIrObexRespNotModified = KErrIrObexRespBase - ERespNotModified; //-5552 returns 0x34 (0xB4)
1.667 +const TInt KErrIrObexRespUseProxy = KErrIrObexRespBase - ERespUseProxy; //-5553 returns 0x35 (0xB5)
1.668 +const TInt KErrIrObexRespBadRequest = KErrIrObexRespBase - ERespBadRequest; //-5564 returns 0x40 (0xC0)
1.669 +const TInt KErrIrObexRespUnauthorized = KErrIrObexRespBase - ERespUnauthorized; //-5565 returns 0x41 (0xC1)
1.670 +const TInt KErrIrObexRespPaymentRequired = KErrIrObexRespBase - ERespPaymentRequired; //-5566 returns 0x42 (0xC2)
1.671 +const TInt KErrIrObexRespForbidden = KErrIrObexRespBase - ERespForbidden; //-5567 returns 0x43 (0xC3)
1.672 +const TInt KErrIrObexRespNotFound = KErrIrObexRespBase - ERespNotFound; //-5568 returns 0x44 (0xC4)
1.673 +const TInt KErrIrObexRespMethodNotAllowed = KErrIrObexRespBase - ERespMethodNotAllowed; //-5569 returns 0x45 (0xC5)
1.674 +const TInt KErrIrObexRespNotAcceptable = KErrIrObexRespBase - ERespNotAcceptable; //-5570 returns 0x46 (0xC6)
1.675 +const TInt KErrIrObexRespProxyAuthenReqd = KErrIrObexRespBase - ERespProxyAuthenReqd; //-5571 returns 0x47 (0xC7)
1.676 +const TInt KErrIrObexRespTimedOut = KErrIrObexRespBase - ERespTimedOut; //-5572 returns 0x48 (0xC8)
1.677 +const TInt KErrIrObexRespConflict = KErrIrObexRespBase - ERespConflict; //-5573 returns 0x49 (0xC9)
1.678 +const TInt KErrIrObexRespGone = KErrIrObexRespBase - ERespGone; //-5574 returns 0x4A (0xCA)
1.679 +const TInt KErrIrObexRespLengthReqd = KErrIrObexRespBase - ERespLengthReqd; //-5575 returns 0x4B (0xCB)
1.680 +const TInt KErrIrObexRespPreCondFailed = KErrIrObexRespBase - ERespPreCondFailed; //-5576 returns 0x4C (0xCC)
1.681 +const TInt KErrIrObexRespReqEntityTooLarge = KErrIrObexRespBase - ERespReqEntityTooLarge;//-5577 returns 0x4D (0xCD)
1.682 +const TInt KErrIrObexRespReqURLTooLarge = KErrIrObexRespBase - ERespReqURLTooLarge; //-5578 returns 0x4E (0xCE)
1.683 +const TInt KErrIrObexRespUnsupMediaType = KErrIrObexRespBase - ERespUnsupMediaType; //-5579 returns 0x4F (0xCF)
1.684 +const TInt KErrIrObexRespInternalError = KErrIrObexRespBase - ERespInternalError; //-5580 returns 0x50 (0xD0)
1.685 +const TInt KErrIrObexRespNotImplemented = KErrIrObexRespBase - ERespNotImplemented; //-5581 returns 0x51 (0xD1)
1.686 +const TInt KErrIrObexRespBadGateway = KErrIrObexRespBase - ERespBadGateway; //-5582 returns 0x52 (0xD2)
1.687 +const TInt KErrIrObexRespServiceUnavail = KErrIrObexRespBase - ERespServiceUnavail; //-5583 returns 0x53 (0xD3)
1.688 +const TInt KErrIrObexRespGatewayTimeout = KErrIrObexRespBase - ERespGatewayTimeout; //-5584 returns 0x54 (0xD4)
1.689 +const TInt KErrIrObexRespHTTPVerNotSupp = KErrIrObexRespBase - ERespHTTPVerNotSupp; //-5585 returns 0x55 (0xD5)
1.690 +const TInt KErrIrObexRespDatabaseFull = KErrIrObexRespBase - ERespDatabaseFull; //-5596 returns 0x60 (0xE0)
1.691 +const TInt KErrIrObexRespDatabaseLocked = KErrIrObexRespBase - ERespDatabaseLocked; //-5597 returns 0x61 (0xE1)
1.692 +
1.693 +#endif // __OBEXCONSTANTS_H