williamr@2: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifndef __OBEXCONSTANTS_H williamr@2: #define __OBEXCONSTANTS_H williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@4: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS williamr@4: #include williamr@2: #endif williamr@2: williamr@4: williamr@4: /** @publishedAll */ williamr@4: const TInt KChallResponseSize = 58; williamr@4: /** @publishedAll */ williamr@4: const TInt KObexRespSize = 16; williamr@4: /** @publishedAll */ williamr@2: const TInt KUsbIntStringDescLength = 30; williamr@4: /** @publishedAll */ williamr@2: const TUint8 KObexObjectDescriptionSize = 255; williamr@2: williamr@2: // Extended errors for IrObex williamr@2: williamr@2: /** Must not use as not in the allocated range */ williamr@2: const TInt KErrIrObexRespBase = - 5500; williamr@2: williamr@2: /** Extended error for IrObex - No other infrared device found */ williamr@2: const TInt KErrIrObexClientNoDevicesFound = -5501; williamr@2: williamr@2: /** Extended error for IrObex - Other IR device cannot handle IrObex */ williamr@2: const TInt KErrIrObexClientPeerDoesNotHaveObex = -5502; williamr@2: williamr@2: /** Extended error for IrObex - Other IR device aborted the transfer */ williamr@2: const TInt KErrIrObexClientPutPeerAborted = -5503; williamr@2: williamr@2: /** Extended error for IrObex - Peer device aborted data transmission/obex sending */ williamr@2: const TInt KErrIrObexServerPutPeerAborted = -5507; williamr@2: williamr@2: /** Extended error for IrObex - Cannot authorise the challenge so link dropped */ williamr@2: const TInt KErrIrObexConnectChallRejected = -5512; williamr@2: williamr@2: // Other Obex errors defined in the system but no longer used williamr@2: // Do not reuse the number! williamr@2: // KErrIrObexClientPutPeerCannotHandleObject -5504 williamr@2: // KErrIrObexServerPutFileWriteError -5509 williamr@2: // KErrIrObexClientFirstPutFailed -5510 williamr@2: // KErrIrObexClientSubsequentPutFailed -5511 williamr@2: williamr@2: /** Unexpected event for the given state */ williamr@2: const TInt KErrIrObexBadEvent = -5513; williamr@2: williamr@2: /** Event occurred while Server is stopped */ williamr@2: const TInt KErrIrObexServerStopped = -5514; williamr@2: williamr@2: /** Packet received while state machine is in a wait state */ williamr@2: const TInt KErrIrObexPacketDuringWait = -5515; williamr@2: williamr@2: // There are other error codes defined at the end of this file, williamr@2: // which are a direct mapping of specific Obex error codes and williamr@2: // are returned by the client. williamr@2: williamr@2: williamr@2: // Flags used by Connect williamr@2: // ...None in OBEX 1.0 williamr@2: williamr@2: williamr@2: /** williamr@2: Version number for TObexTransportInfo and derived classes. williamr@2: When iVersion is set to this value the following fields of TObexTransportInfo williamr@2: must be set: williamr@2: iTransportName, williamr@2: iReceiveMtu williamr@2: iTransmitMtu williamr@2: The iVersion member variable must be set to this value. If in future any of the williamr@2: iFuture variables are used a new version constant will be created. williamr@2: williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TInt KObexTransportInfoVersion0 = 0; williamr@2: williamr@2: /** williamr@2: Default for the receive and transmit MTU sizes williamr@2: Use this default value for setting the iReceiveMtu or iTransmitMtu in TObexTransportInfo williamr@2: objects or derived classes. williamr@2: williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TInt KObexDefaultMtuSize = 4000; williamr@2: williamr@2: /** williamr@2: Default value for the number of discovery slots to use. Use this value as a default williamr@2: for iDiscoverySlots in TObexIrdaV2TransportInfo. williamr@2: williamr@2: @see TObexIrdaV2TransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TUint KObexIrdaDefaultDiscoverySlotsToUse = 1; williamr@2: williamr@2: /** williamr@2: Default value for the number of discovery attempts made. Use this value as a default for iDiscoveryAttempts williamr@2: in TObexIrdaV2TransportInfo. williamr@2: @see TObexIrdaV2TransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TUint KObexIrdaDefaultDiscoveryAttempts = 4; williamr@2: williamr@2: // Constants used to define which transport Obex will run over. williamr@2: // Used in TObexTransportInfo and TObexProtocolInfo's iTransport member. williamr@2: williamr@2: /** williamr@2: Protocol string when running over IrDA williamr@2: @see TObexIrProtocolInfo williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexIrTTPProtocol, "IrTinyTP"); williamr@2: williamr@2: /** williamr@2: Protocol string when running over IrDA williamr@2: Using this version indicates that the configuration object contains discovery parameters. williamr@2: @see TObexIrProtocolInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexIrTTPProtocolV2, "IrTinyTP-V2"); williamr@2: williamr@2: /** williamr@2: Protocol string when running over IrDA williamr@2: Using this version indicates that the configuration object contains the device nickname. williamr@2: @see TObexIrProtocolInfo williamr@2: @publishedAll williamr@2: williamr@2: @capability WriteDeviceData If the TObexIrV3TransportInfo is passed as the argument williamr@2: to CObexServer::NewL or CObexClient::NewL and the associated williamr@2: name is valid. williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexIrTTPProtocolV3, "IrTinyTP-V3"); williamr@2: williamr@2: /** williamr@2: Protocol string when running over Bluetooth williamr@2: @see TObexBluetoothProtocolInfo williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexRfcommProtocol, "RFCOMM"); williamr@2: williamr@2: /** williamr@2: Protocol string when running over USB williamr@2: @see TObexUsbProtocolInfo williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexUsbProtocol, "USB"); williamr@2: williamr@2: /** williamr@2: Place holder for... williamr@2: protocol string that should be used williamr@2: if a Win32 emulator USB transport were williamr@2: to be created for testing. williamr@2: @see TObexUsbProtocolInfo williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexWin32UsbProtocol, "Win32Usb"); williamr@2: williamr@2: /** williamr@2: Protocol string when running over USB using client driver extensions williamr@2: @see TObexUsbProtocolInfoV2 williamr@2: @see TObexTransportInfo williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: _LIT(KObexUsbProtocolV2, "USB-V2"); williamr@2: williamr@2: /** williamr@2: This class is derived for each underlying transport protocol OBEX williamr@2: runs over. williamr@2: williamr@2: The iTransport member holds the unique name for the transport. For example for williamr@2: infra-red (TinyTP) this is "IrTinyTP" or KObexIrTTPProtocol. williamr@2: williamr@2: @see TObexIrProtocolInfo for running over TinyTP williamr@2: @see TObexBluetoothProtocolInfo for running over Rfcomm williamr@2: @see TObexUsbProtocolInfo for running over USB williamr@2: @see TObexUsbProtocolInfoV2 for running over USB using client driver extensions williamr@2: williamr@2: @see KObexIrTTPProtocol williamr@2: @see KObexIrTTPProtocolV2 williamr@2: @see KObexRfcommProtocol williamr@2: @see KObexUsbProtocol williamr@2: @see KObexUsbProtocolV2 williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexProtocolInfo) williamr@2: { williamr@2: public: williamr@2: /** Holds the unique name for the transport. */ williamr@2: TBuf<60> iTransport; williamr@2: private: williamr@2: // This data padding has been added to help prevent future binary compatibility breaks williamr@2: // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used williamr@2: TUint32 iPadding1; williamr@2: TUint32 iPadding2; williamr@2: }; williamr@2: williamr@2: /** williamr@2: Used to describe IrDA specific protocol information williamr@2: williamr@2: To access the default OBEX server, the IAS class value should be "OBEX" williamr@2: and the IAS attribute name "IrDA:TinyTP:LsapSel". williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexIrProtocolInfo) : public TObexProtocolInfo williamr@2: { williamr@2: public: williamr@2: /** IrDA address information for this connection, as used in the IrDA sockets interface. williamr@2: Refer to the SDK for more information about this. williamr@2: Its main use is for setting the port that the local machine will listen on. */ williamr@2: TIrdaSockAddr iAddr; williamr@2: /** The IAS class value that the OBEX session will register its listener port, williamr@2: or request remote port with. */ williamr@2: TBuf8 iClassName; williamr@2: /** The IAS attribute value that the OBEX session will register its listener port, williamr@2: or request remote port with. */ williamr@2: TBuf8 iAttributeName; williamr@2: /** The number of discovery slots to use. */ williamr@2: TUint8 iDiscoverySlots; williamr@2: /** The number of discovery attempts to make. */ williamr@2: TUint8 iDiscoveryAttempts; williamr@2: williamr@2: private: williamr@2: // This data padding has been added to help prevent future binary compatibility breaks williamr@2: // None of these padding variables have been zero'd because they are currently not used williamr@2: TUint16 iPadding1; williamr@2: TUint32 iPadding2; williamr@2: TUint32 iPadding3; williamr@2: TUint32 iPadding4; williamr@2: }; williamr@2: williamr@2: /** williamr@2: Used to describe Bluetooth specific protocol information williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexBluetoothProtocolInfo) : public TObexProtocolInfo williamr@2: { williamr@2: public: williamr@2: /** williamr@2: For OBEX servers: williamr@2: This defines the server channel on which the OBEX server listens williamr@2: for connections. The server channel is set using SetPort on the williamr@2: TRfcommSockAddr. williamr@2: Note: williamr@2: 1) Unless the channel is defined as KRfcommPassiveAutoBind williamr@2: it may be in use when the obex server attempts to 'bind' to it williamr@2: 2) If the channel is defined as KRfcommPassiveAutoBind williamr@2: then when the server is FIRST started it will attempt williamr@2: to find a free RFComm channel. If this is successful williamr@2: that free channel will be used as the server channel williamr@2: for the life time of the obex server including williamr@2: when it is 'stopped' and re-'started'. williamr@2: 3) When the obex server is stopped, and very williamr@2: briefly when a bluetooth connection comes down, the williamr@2: obex server releases its server channel. It is possible williamr@2: therefore that during this time another application might bind williamr@2: to it. This will cause an error when the obex server tries williamr@2: to re-bind. williamr@2: williamr@2: Also note that a Bluetooth OBEX server will itself set the Object Transfer williamr@2: bit in the Service Class as required by the Generic Object Exchange williamr@2: Profile so the user need not do this. williamr@2: @see CObexServer williamr@2: williamr@2: For OBEX clients: williamr@2: This defines the server channel and the williamr@2: device address to connect to. The server channel williamr@2: and device address are set respectively using SetPort williamr@2: and SetBTAddr on the TRfcommSockAddr. williamr@2: */ williamr@2: TRfcommSockAddr iAddr; williamr@2: williamr@2: private: williamr@2: // This data padding has been added to help prevent future binary compatibility breaks williamr@2: // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used williamr@2: TUint32 iPadding1; williamr@2: TUint32 iPadding2; williamr@2: }; williamr@2: williamr@2: /** williamr@2: Used to describe USB specific protocol information williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexUsbProtocolInfo) : public TObexProtocolInfo williamr@2: { williamr@2: public: williamr@2: /** Provides a string to be attached to the Obex function's Communication Class interface, williamr@2: which may be used to identify the Obex service. */ williamr@2: TBuf16 iInterfaceStringDescriptor; williamr@2: }; williamr@2: williamr@2: /** williamr@2: Used to set options used by the extended USB client driver for improved performance williamr@2: williamr@2: @see TObexUsbProtocolInfo williamr@2: @see RDevUsbcClient williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexUsbProtocolInfoV2) : public TObexUsbProtocolInfo williamr@2: { williamr@2: public: williamr@2: /** Bitmap containing the bandwidth priorities to use on IN and OUT endpoints williamr@2: @see TUsbcBandwidthPriority williamr@2: */ williamr@2: TInt iBandwidthPriority; williamr@2: /** Specifies whether to use DMA on the bulk OUT endpoint */ williamr@2: TBool iDmaOnOutEndpoint; williamr@2: /** Specifies whether to use DMA on the bulk IN endpoint */ williamr@2: TBool iDmaOnInEndpoint; williamr@2: williamr@2: private: williamr@2: // This data padding has been added to help prevent future binary compatibility breaks williamr@2: // None of these padding variables have been zero'd because they are currently not used williamr@2: TUint32 iPadding1; williamr@2: TUint32 iPadding2; williamr@2: TUint32 iPadding3; williamr@2: TUint32 iPadding4; williamr@2: }; williamr@2: williamr@2: /** williamr@2: Contains information about OBEX packet sizing policy, defining the williamr@2: maximum buffer size for receive and transmit packets williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexProtocolPolicy) williamr@2: { williamr@2: public: williamr@2: IMPORT_C TObexProtocolPolicy (); // Sets version and default values williamr@2: williamr@2: IMPORT_C TInt SetReceiveMtu ( TUint16 aReceiveMtu ); williamr@2: IMPORT_C TInt SetTransmitMtu ( TUint16 aTransmitMtu ); williamr@2: IMPORT_C TUint16 Version () const; williamr@2: IMPORT_C TUint16 ReceiveMtu () const; williamr@2: IMPORT_C TUint16 TransmitMtu () const; williamr@2: williamr@2: private: williamr@2: TUint16 iVersion; williamr@2: TUint16 iReceiveMtu; williamr@2: TUint16 iTransmitMtu; williamr@2: williamr@2: // This data padding has been added to help prevent future binary compatibility breaks williamr@2: // None of these padding variables have been zero'd because they are currently not used williamr@2: TUint32 iPadding1; williamr@2: TUint32 iPadding2; williamr@2: TUint32 iPadding3; williamr@2: TUint32 iPadding4; williamr@2: }; williamr@2: williamr@2: struct TObexConnectionInfo; williamr@2: williamr@2: /** williamr@2: TObexConnectInfo williamr@2: This structure contains information used during OBEX connection. iVersion williamr@2: holds the encoded OBEX version of the machine, use @c VersionMajor() and williamr@2: @c VersionMinor() to extract the parts of the version number (each having a williamr@2: value from 0 to 15). @c iFlags holds OBEX connection flags. @c iWho holds williamr@2: the Who attribute from the connect packet, if any was specified, or williamr@2: otherwise has a length of 0. williamr@2: It is recommended that this class is only ever allocated on the heap as it is quite big. williamr@2: */ williamr@2: NONSHARABLE_CLASS(TObexConnectInfo) williamr@2: { williamr@2: public: williamr@2: IMPORT_C TObexConnectInfo(); williamr@2: IMPORT_C TUint8 VersionMajor() const; williamr@2: IMPORT_C TUint8 VersionMinor() const; williamr@2: public: williamr@2: TUint8 iVersion; /** Encoded OBEX version of the machine*/ williamr@2: TUint8 iFlags; /** iFlags holds OBEX connection flags*/ williamr@2: TBuf8 iWho; /** the Who attribute from the connect packet, if any was specified */ williamr@2: TBuf8 iTargetHeader; /** the Target header from the connect packet, if any was specified */ williamr@2: williamr@2: private: williamr@2: // This data padding has been added to help prevent future binary compatibility breaks williamr@2: // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used williamr@2: TUint32 iPadding1; williamr@2: TUint32 iPadding2; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: //if these codes are extended due to a IRObex spec update ensure williamr@2: //that the TInt immediately below are updated williamr@2: //and the default in the method IrOBEXUtil::ObexResponse is also updated williamr@2: enum TObexResponse williamr@2: { williamr@2: /** Response is "Continue" */ williamr@2: ERespContinue = 0x10, williamr@2: williamr@2: /** Response is "Success" */ williamr@2: ERespSuccess = 0x20, williamr@2: williamr@2: /** Response is "Created" */ williamr@2: ERespCreated = 0x21, williamr@2: williamr@2: /** Response is "Accepted" */ williamr@2: ERespAccepted = 0x22, williamr@2: williamr@2: /** Response is "Non-Authenticated Information" */ williamr@2: ERespNonAuthInfo = 0x23, williamr@2: williamr@2: /** Response is "No Content" */ williamr@2: ERespNoContent = 0x24, williamr@2: williamr@2: /** Response is "Reset Content" */ williamr@2: ERespResetContent = 0x25, williamr@2: williamr@2: /** Response is "Partial Content" */ williamr@2: ERespPartialContent = 0x26, williamr@2: williamr@2: /** Response is "Multiple Choices" */ williamr@2: ERespMultipleChoices = 0x30, williamr@2: williamr@2: /** Response is "Moved Permanently" */ williamr@2: ERespMovedPerm = 0x31, williamr@2: williamr@2: /** Response is "Moved Temporarily" */ williamr@2: ERespMovedTemp = 0x32, williamr@2: williamr@2: /** Response is "See Other" */ williamr@2: ERespSeeOther = 0x33, williamr@2: williamr@2: /** Response is "Not Modified" */ williamr@2: ERespNotModified = 0x34, williamr@2: williamr@2: /** Response is "Use Proxy" */ williamr@2: ERespUseProxy = 0x35, williamr@2: williamr@2: /** Response is "Bad Request" */ williamr@2: ERespBadRequest = 0x40, williamr@2: williamr@2: /** Response is "Unauthorized" */ williamr@2: ERespUnauthorized = 0x41, williamr@2: williamr@2: /** Response is "Payment Required" */ williamr@2: ERespPaymentRequired = 0x42, williamr@2: williamr@2: /** Response is "Forbidden" */ williamr@2: ERespForbidden = 0x43, williamr@2: williamr@2: /** Response is "Not Found" */ williamr@2: ERespNotFound = 0x44, williamr@2: williamr@2: /** Response is "Method Not Allowed" */ williamr@2: ERespMethodNotAllowed = 0x45, williamr@2: williamr@2: /** Response is "Not Acceptable" */ williamr@2: ERespNotAcceptable = 0x46, williamr@2: williamr@2: /** Response is "Proxy Authentication is Required" */ williamr@2: ERespProxyAuthenReqd = 0x47, williamr@2: williamr@2: /** Response is "Timed Out" */ williamr@2: ERespTimedOut = 0x48, williamr@2: williamr@2: /** Response is "Conflict" */ williamr@2: ERespConflict = 0x49, williamr@2: williamr@2: /** Response is "Gone" */ williamr@2: ERespGone = 0x4A, williamr@2: williamr@2: /** Response is "Length Required" */ williamr@2: ERespLengthReqd = 0x4B, williamr@2: williamr@2: /** Response is "Precondition Failed" */ williamr@2: ERespPreCondFailed = 0x4C, williamr@2: williamr@2: /** Response is "Required Entity is Too Large" */ williamr@2: ERespReqEntityTooLarge = 0x4D, williamr@2: williamr@2: /** Response is "Required URL is Too Large" */ williamr@2: ERespReqURLTooLarge = 0x4E, williamr@2: williamr@2: /** Response is "Unsupported Media Type" */ williamr@2: ERespUnsupMediaType = 0x4F, williamr@2: williamr@2: /** Response is "Internal Error" */ williamr@2: ERespInternalError = 0x50, williamr@2: williamr@2: /** Response is "Not Implemented" */ williamr@2: ERespNotImplemented = 0x51, williamr@2: williamr@2: /** Response is "Bad Gateway" */ williamr@2: ERespBadGateway = 0x52, williamr@2: williamr@2: /** Response is "Service Unavailable" */ williamr@2: ERespServiceUnavail = 0x53, williamr@2: williamr@2: /** Response is "Gateway Timeout" */ williamr@2: ERespGatewayTimeout = 0x54, williamr@2: williamr@2: /** Response is "HTTP Version is Not Supported" */ williamr@2: ERespHTTPVerNotSupp = 0x55, williamr@2: williamr@2: /** Response is "Database is Full" */ williamr@2: ERespDatabaseFull = 0x60, williamr@2: williamr@2: /** Response is "Database is Locked" */ williamr@2: ERespDatabaseLocked = 0x61, williamr@2: williamr@2: /** Response is "Service is Unavailable" */ williamr@2: ERespServiceUnavailable = 0xD3, williamr@2: }; williamr@2: williamr@2: williamr@2: //some error codes to be used specifically by the client williamr@2: //these shall, be mapped directly to OBEX defined error codes. williamr@2: const TInt KErrIrObexRespSuccess = KErrIrObexRespBase - ERespSuccess; //-5532 returns 0x20 (0xA0) williamr@2: const TInt KErrIrObexRespCreated = KErrIrObexRespBase - ERespCreated; //-5533 returns 0x21 (0xA1) williamr@2: const TInt KErrIrObexRespAccepted = KErrIrObexRespBase - ERespAccepted; //-5534 returns 0x22 (0xA2) williamr@2: const TInt KErrIrObexRespNonAuthInfo = KErrIrObexRespBase - ERespNonAuthInfo; //-5535 returns 0x23 (0xA3) williamr@2: const TInt KErrIrObexRespNoContent = KErrIrObexRespBase - ERespNoContent; //-5536 returns 0x24 (0xA4) williamr@2: const TInt KErrIrObexRespResetContent = KErrIrObexRespBase - ERespResetContent; //-5537 returns 0x25 (0xA5) williamr@2: const TInt KErrIrObexRespPartialContent = KErrIrObexRespBase - ERespPartialContent; //-5538 returns 0x26 (0xA6) williamr@2: const TInt KErrIrObexRespMultipleChoices = KErrIrObexRespBase - ERespMultipleChoices; //-5548 returns 0x30 (0xB0) williamr@2: const TInt KErrIrObexRespMovedPerm = KErrIrObexRespBase - ERespMovedPerm; //-5549 returns 0x31 (0xB1) williamr@2: const TInt KErrIrObexRespMovedTemp = KErrIrObexRespBase - ERespMovedTemp; //-5550 returns 0x32 (0xB2) williamr@2: const TInt KErrIrObexRespSeeOther = KErrIrObexRespBase - ERespSeeOther; //-5551 returns 0x33 (0xB3) williamr@2: const TInt KErrIrObexRespNotModified = KErrIrObexRespBase - ERespNotModified; //-5552 returns 0x34 (0xB4) williamr@2: const TInt KErrIrObexRespUseProxy = KErrIrObexRespBase - ERespUseProxy; //-5553 returns 0x35 (0xB5) williamr@2: const TInt KErrIrObexRespBadRequest = KErrIrObexRespBase - ERespBadRequest; //-5564 returns 0x40 (0xC0) williamr@2: const TInt KErrIrObexRespUnauthorized = KErrIrObexRespBase - ERespUnauthorized; //-5565 returns 0x41 (0xC1) williamr@2: const TInt KErrIrObexRespPaymentRequired = KErrIrObexRespBase - ERespPaymentRequired; //-5566 returns 0x42 (0xC2) williamr@2: const TInt KErrIrObexRespForbidden = KErrIrObexRespBase - ERespForbidden; //-5567 returns 0x43 (0xC3) williamr@2: const TInt KErrIrObexRespNotFound = KErrIrObexRespBase - ERespNotFound; //-5568 returns 0x44 (0xC4) williamr@2: const TInt KErrIrObexRespMethodNotAllowed = KErrIrObexRespBase - ERespMethodNotAllowed; //-5569 returns 0x45 (0xC5) williamr@2: const TInt KErrIrObexRespNotAcceptable = KErrIrObexRespBase - ERespNotAcceptable; //-5570 returns 0x46 (0xC6) williamr@2: const TInt KErrIrObexRespProxyAuthenReqd = KErrIrObexRespBase - ERespProxyAuthenReqd; //-5571 returns 0x47 (0xC7) williamr@2: const TInt KErrIrObexRespTimedOut = KErrIrObexRespBase - ERespTimedOut; //-5572 returns 0x48 (0xC8) williamr@2: const TInt KErrIrObexRespConflict = KErrIrObexRespBase - ERespConflict; //-5573 returns 0x49 (0xC9) williamr@2: const TInt KErrIrObexRespGone = KErrIrObexRespBase - ERespGone; //-5574 returns 0x4A (0xCA) williamr@2: const TInt KErrIrObexRespLengthReqd = KErrIrObexRespBase - ERespLengthReqd; //-5575 returns 0x4B (0xCB) williamr@2: const TInt KErrIrObexRespPreCondFailed = KErrIrObexRespBase - ERespPreCondFailed; //-5576 returns 0x4C (0xCC) williamr@2: const TInt KErrIrObexRespReqEntityTooLarge = KErrIrObexRespBase - ERespReqEntityTooLarge;//-5577 returns 0x4D (0xCD) williamr@2: const TInt KErrIrObexRespReqURLTooLarge = KErrIrObexRespBase - ERespReqURLTooLarge; //-5578 returns 0x4E (0xCE) williamr@2: const TInt KErrIrObexRespUnsupMediaType = KErrIrObexRespBase - ERespUnsupMediaType; //-5579 returns 0x4F (0xCF) williamr@2: const TInt KErrIrObexRespInternalError = KErrIrObexRespBase - ERespInternalError; //-5580 returns 0x50 (0xD0) williamr@2: const TInt KErrIrObexRespNotImplemented = KErrIrObexRespBase - ERespNotImplemented; //-5581 returns 0x51 (0xD1) williamr@2: const TInt KErrIrObexRespBadGateway = KErrIrObexRespBase - ERespBadGateway; //-5582 returns 0x52 (0xD2) williamr@2: const TInt KErrIrObexRespServiceUnavail = KErrIrObexRespBase - ERespServiceUnavail; //-5583 returns 0x53 (0xD3) williamr@2: const TInt KErrIrObexRespGatewayTimeout = KErrIrObexRespBase - ERespGatewayTimeout; //-5584 returns 0x54 (0xD4) williamr@2: const TInt KErrIrObexRespHTTPVerNotSupp = KErrIrObexRespBase - ERespHTTPVerNotSupp; //-5585 returns 0x55 (0xD5) williamr@2: const TInt KErrIrObexRespDatabaseFull = KErrIrObexRespBase - ERespDatabaseFull; //-5596 returns 0x60 (0xE0) williamr@2: const TInt KErrIrObexRespDatabaseLocked = KErrIrObexRespBase - ERespDatabaseLocked; //-5597 returns 0x61 (0xE1) williamr@2: williamr@2: #endif // __OBEXCONSTANTS_H