obex/obexprotocol/obex/public/obexconstants.h
changeset 0 d0791faffa3f
equal deleted inserted replaced
-1:000000000000 0:d0791faffa3f
       
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 /**
       
    17  @file
       
    18  @publishedAll
       
    19  @released
       
    20 */
       
    21 
       
    22 #ifndef __OBEXCONSTANTS_H
       
    23 #define __OBEXCONSTANTS_H
       
    24 
       
    25 #include <e32std.h>
       
    26 #include <es_sock.h>
       
    27 #include <ir_sock.h>
       
    28 #include <bt_sock.h>
       
    29 #include <obexpanics.h>
       
    30 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
       
    31 #include <obexconstantsinternal.h>
       
    32 #endif
       
    33 
       
    34 
       
    35 /** @publishedAll */
       
    36 const TInt KChallResponseSize = 58;
       
    37 /** @publishedAll */
       
    38 const TInt KObexRespSize = 16;
       
    39 /** @publishedAll */
       
    40 const TInt KUsbIntStringDescLength = 30;
       
    41 /** @publishedAll */
       
    42 const TUint8 KObexObjectDescriptionSize = 255;
       
    43 
       
    44 // Extended errors for IrObex
       
    45 
       
    46 /** Must not use as not in the allocated range */
       
    47 const TInt KErrIrObexRespBase			= - 5500; 
       
    48 
       
    49 /** Extended error for IrObex - No other infrared device found */
       
    50 const TInt KErrIrObexClientNoDevicesFound = -5501;
       
    51 
       
    52 /** Extended error for IrObex - Other IR device cannot handle IrObex */
       
    53 const TInt KErrIrObexClientPeerDoesNotHaveObex = -5502;
       
    54 
       
    55 /** Extended error for IrObex - Other IR device aborted the transfer */
       
    56 const TInt KErrIrObexClientPutPeerAborted	= -5503;
       
    57 
       
    58 /** Extended error for IrObex - Peer device aborted data transmission/obex sending */
       
    59 const TInt KErrIrObexServerPutPeerAborted = -5507;
       
    60 
       
    61 /** Extended error for IrObex - Cannot authorise the challenge so link dropped */
       
    62 const TInt KErrIrObexConnectChallRejected = -5512;
       
    63 
       
    64 // Other Obex errors defined in the system but no longer used
       
    65 // Do not reuse the number!
       
    66 // KErrIrObexClientPutPeerCannotHandleObject -5504
       
    67 // KErrIrObexServerPutFileWriteError		-5509
       
    68 // KErrIrObexClientFirstPutFailed			-5510
       
    69 // KErrIrObexClientSubsequentPutFailed		-5511
       
    70 
       
    71 /** Unexpected event for the given state */
       
    72 const TInt KErrIrObexBadEvent = -5513;
       
    73 
       
    74 /** Event occurred while Server is stopped */
       
    75 const TInt KErrIrObexServerStopped = -5514;
       
    76 
       
    77 /** Packet received while state machine is in a wait state */
       
    78 const TInt KErrIrObexPacketDuringWait = -5515;
       
    79 
       
    80 // There are other error codes defined at the end of this file,
       
    81 // which are a direct mapping of specific Obex error codes and
       
    82 // are returned by the client.
       
    83 
       
    84 
       
    85 // Flags used by Connect
       
    86 // ...None in OBEX 1.0
       
    87 
       
    88 
       
    89 /**
       
    90 Version number for TObexTransportInfo and derived classes.  
       
    91 When iVersion is set to this value the following fields of TObexTransportInfo  
       
    92 must be set:
       
    93 iTransportName, 
       
    94 iReceiveMtu
       
    95 iTransmitMtu
       
    96 The iVersion member variable must be set to this value. If in future any of the 
       
    97 iFuture variables are used a new version constant will be created.
       
    98 
       
    99 @see TObexTransportInfo
       
   100 @publishedAll
       
   101 @released
       
   102 */
       
   103 const TInt KObexTransportInfoVersion0 = 0;	
       
   104 
       
   105 /**
       
   106 Default for the receive and transmit MTU sizes
       
   107 Use this default value for setting the iReceiveMtu or iTransmitMtu in TObexTransportInfo
       
   108 objects or derived classes.
       
   109 
       
   110 @see TObexTransportInfo
       
   111 @publishedAll
       
   112 @released
       
   113 */
       
   114 const TInt KObexDefaultMtuSize = 4000;
       
   115 
       
   116 /**
       
   117 Default value for the number of discovery slots to use.  Use this value as a default 
       
   118 for iDiscoverySlots in TObexIrdaV2TransportInfo.  
       
   119 
       
   120 @see TObexIrdaV2TransportInfo
       
   121 @publishedAll
       
   122 @released
       
   123 */
       
   124 const TUint KObexIrdaDefaultDiscoverySlotsToUse = 1;
       
   125 
       
   126 /**
       
   127 Default value for the number of discovery attempts made.  Use this value as a default for iDiscoveryAttempts
       
   128 in TObexIrdaV2TransportInfo.  
       
   129 @see TObexIrdaV2TransportInfo
       
   130 @publishedAll
       
   131 @released
       
   132 */
       
   133 const TUint KObexIrdaDefaultDiscoveryAttempts = 4;
       
   134 
       
   135 // Constants used to define which transport Obex will run over.
       
   136 // Used in TObexTransportInfo and TObexProtocolInfo's iTransport member.
       
   137 
       
   138 /**
       
   139 Protocol string when running over IrDA
       
   140 @see TObexIrProtocolInfo
       
   141 @see TObexTransportInfo
       
   142 @publishedAll
       
   143 @released
       
   144 */
       
   145 _LIT(KObexIrTTPProtocol, "IrTinyTP");
       
   146 
       
   147 /**
       
   148 Protocol string when running over IrDA
       
   149 Using this version indicates that the configuration object contains discovery parameters.
       
   150 @see TObexIrProtocolInfo
       
   151 @publishedAll
       
   152 @released
       
   153 */
       
   154 _LIT(KObexIrTTPProtocolV2, "IrTinyTP-V2");
       
   155 
       
   156 /**
       
   157 Protocol string when running over IrDA
       
   158 Using this version indicates that the configuration object contains the device nickname.
       
   159 @see TObexIrProtocolInfo
       
   160 @publishedAll
       
   161 
       
   162 @capability WriteDeviceData If the TObexIrV3TransportInfo is passed as the argument
       
   163                             to CObexServer::NewL or CObexClient::NewL and the associated 
       
   164                             name is valid.
       
   165 @released
       
   166 */
       
   167 _LIT(KObexIrTTPProtocolV3, "IrTinyTP-V3");
       
   168 
       
   169 /**
       
   170 Protocol string when running over Bluetooth
       
   171 @see TObexBluetoothProtocolInfo
       
   172 @see TObexTransportInfo
       
   173 @publishedAll
       
   174 @released
       
   175 */
       
   176 _LIT(KObexRfcommProtocol, "RFCOMM");
       
   177 
       
   178 /**
       
   179 Protocol string when running over USB
       
   180 @see TObexUsbProtocolInfo
       
   181 @see TObexTransportInfo
       
   182 @publishedAll
       
   183 @released
       
   184 */
       
   185 _LIT(KObexUsbProtocol, "USB");
       
   186 
       
   187 /**
       
   188 Place holder for...
       
   189 protocol string that should be used 
       
   190 if a Win32 emulator USB transport were 
       
   191 to be created for testing.
       
   192 @see TObexUsbProtocolInfo
       
   193 @see TObexTransportInfo
       
   194 @publishedAll
       
   195 @released
       
   196 */
       
   197 _LIT(KObexWin32UsbProtocol, "Win32Usb");
       
   198 
       
   199 /**
       
   200 Protocol string when running over USB using client driver extensions
       
   201 @see TObexUsbProtocolInfoV2
       
   202 @see TObexTransportInfo
       
   203 @publishedAll
       
   204 @released
       
   205 */
       
   206 _LIT(KObexUsbProtocolV2, "USB-V2");
       
   207 
       
   208 /** 
       
   209 This class is derived for each underlying transport protocol OBEX 
       
   210 runs over.
       
   211 
       
   212 The iTransport member holds the unique name for the transport. For example for
       
   213 infra-red (TinyTP) this is "IrTinyTP" or KObexIrTTPProtocol.
       
   214 
       
   215 @see TObexIrProtocolInfo for running over TinyTP
       
   216 @see TObexBluetoothProtocolInfo for running over Rfcomm
       
   217 @see TObexUsbProtocolInfo for running over USB
       
   218 @see TObexUsbProtocolInfoV2 for running over USB using client driver extensions
       
   219 
       
   220 @see KObexIrTTPProtocol
       
   221 @see KObexIrTTPProtocolV2
       
   222 @see KObexRfcommProtocol
       
   223 @see KObexUsbProtocol
       
   224 @see KObexUsbProtocolV2
       
   225 
       
   226 @publishedAll
       
   227 @released
       
   228 */
       
   229 NONSHARABLE_CLASS(TObexProtocolInfo)
       
   230 	{
       
   231 public:
       
   232 	/** Holds the unique name for the transport. */
       
   233 	TBuf<60> iTransport;
       
   234 private:
       
   235 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   236 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   237 	TUint32     iPadding1; 
       
   238 	TUint32     iPadding2; 		
       
   239 	};
       
   240 
       
   241 /** 
       
   242 Used to describe IrDA specific protocol information
       
   243 	
       
   244 To access the default OBEX server, the IAS class value should be "OBEX"
       
   245 and the IAS attribute name "IrDA:TinyTP:LsapSel". 
       
   246 
       
   247 @publishedAll
       
   248 @released
       
   249 */
       
   250 NONSHARABLE_CLASS(TObexIrProtocolInfo) : public TObexProtocolInfo
       
   251 	{
       
   252 public:
       
   253 	/** IrDA address information for this connection, as used in the IrDA sockets interface.
       
   254 	Refer to the SDK for more information about this.
       
   255 	Its main use is for setting the port that the local machine will listen on. */
       
   256 	TIrdaSockAddr iAddr;
       
   257 	/** The IAS class value that the OBEX session will register its listener port,
       
   258 	or request remote port with. */
       
   259 	TBuf8<KIASClassNameMax> iClassName;
       
   260 	/** The IAS attribute value that the OBEX session will register its listener port,
       
   261 	or request remote port with. */
       
   262 	TBuf8<KIASAttributeNameMax> iAttributeName;
       
   263 	/** The number of discovery slots to use. */
       
   264 	TUint8 iDiscoverySlots;
       
   265 	/** The number of discovery attempts to make. */
       
   266 	TUint8 iDiscoveryAttempts;
       
   267 
       
   268 private:
       
   269 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   270 	// None of these padding variables have been zero'd because they are currently not used
       
   271 	TUint16     iPadding1; 
       
   272 	TUint32     iPadding2; 		
       
   273 	TUint32     iPadding3; 
       
   274 	TUint32     iPadding4; 	
       
   275 	};
       
   276 
       
   277 /** 
       
   278 Used to describe Bluetooth specific protocol information
       
   279 	
       
   280 @publishedAll
       
   281 @released
       
   282 */
       
   283 NONSHARABLE_CLASS(TObexBluetoothProtocolInfo) : public TObexProtocolInfo
       
   284 	{
       
   285 public:
       
   286 	/** 
       
   287 	For OBEX servers:
       
   288 	This defines the server channel on which the OBEX server listens 
       
   289 	for connections. The server channel is set using SetPort on the 
       
   290 	TRfcommSockAddr.
       
   291 	Note:
       
   292 	1) Unless the channel is defined as KRfcommPassiveAutoBind 
       
   293 	it may be in use when the obex server attempts to 'bind' to it
       
   294 	2) If the channel is defined as KRfcommPassiveAutoBind 
       
   295 	then when the server is FIRST started it will attempt 
       
   296 	to find a free RFComm channel. If this is successful 
       
   297 	that free channel will be used as the server channel 
       
   298 	for the life time of the obex server including
       
   299 	when it is 'stopped' and re-'started'.
       
   300 	3) When the obex server is stopped, and very
       
   301 	briefly when a bluetooth connection comes down, the
       
   302 	obex server releases its server channel. It is possible
       
   303 	therefore that during this time another application might bind
       
   304 	to it. This will cause an error when the obex server tries
       
   305 	to re-bind.
       
   306 
       
   307 	Also note that a Bluetooth OBEX server will itself set the Object Transfer
       
   308 	bit in the Service Class as required by the Generic Object Exchange
       
   309 	Profile so the user need not do this.	
       
   310 	@see CObexServer
       
   311 	
       
   312 	For OBEX clients:
       
   313 	This defines the server channel and the 
       
   314 	device address to connect to. The server channel 
       
   315 	and device address are set respectively using SetPort 
       
   316 	and SetBTAddr on the TRfcommSockAddr.
       
   317 	*/
       
   318 	TRfcommSockAddr iAddr;
       
   319 	
       
   320 private:
       
   321 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   322 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   323 	TUint32     iPadding1; 
       
   324 	TUint32     iPadding2; 	
       
   325 	};
       
   326 
       
   327 /** 
       
   328 Used to describe USB specific protocol information
       
   329 	
       
   330 @publishedAll
       
   331 @released
       
   332 */
       
   333 NONSHARABLE_CLASS(TObexUsbProtocolInfo) : public TObexProtocolInfo
       
   334 	{
       
   335 public:
       
   336 	/** Provides a string to be attached to the Obex function's Communication Class interface,
       
   337 	which may be used to identify the Obex service. */
       
   338 	TBuf16<KUsbIntStringDescLength> iInterfaceStringDescriptor;
       
   339 	};
       
   340 
       
   341 /** 
       
   342 Used to set options used by the extended USB client driver for improved performance
       
   343 	
       
   344 @see TObexUsbProtocolInfo
       
   345 @see RDevUsbcClient
       
   346 @publishedAll
       
   347 @released
       
   348 */
       
   349 NONSHARABLE_CLASS(TObexUsbProtocolInfoV2) : public TObexUsbProtocolInfo
       
   350 	{
       
   351 public:
       
   352 	/** Bitmap containing the bandwidth priorities to use on IN and OUT endpoints
       
   353 	@see TUsbcBandwidthPriority
       
   354 	*/
       
   355 	TInt iBandwidthPriority;
       
   356 	/** Specifies whether to use DMA on the bulk OUT endpoint */
       
   357 	TBool iDmaOnOutEndpoint;
       
   358 	/** Specifies whether to use DMA on the bulk IN endpoint */
       
   359 	TBool iDmaOnInEndpoint;
       
   360 	
       
   361 private:
       
   362 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   363 	// None of these padding variables have been zero'd because they are currently not used
       
   364 	TUint32     iPadding1; 
       
   365 	TUint32     iPadding2; 		
       
   366 	TUint32     iPadding3; 
       
   367 	TUint32     iPadding4; 	
       
   368 	};
       
   369 
       
   370 /**
       
   371 Contains information about OBEX packet sizing policy, defining the
       
   372 maximum buffer size for receive and transmit packets
       
   373 */
       
   374 NONSHARABLE_CLASS(TObexProtocolPolicy)
       
   375 	{
       
   376 public:
       
   377 	IMPORT_C TObexProtocolPolicy ();	// Sets version and default values
       
   378 
       
   379 	IMPORT_C TInt SetReceiveMtu ( TUint16 aReceiveMtu );
       
   380 	IMPORT_C TInt SetTransmitMtu ( TUint16 aTransmitMtu );
       
   381 	IMPORT_C TUint16 Version () const;
       
   382 	IMPORT_C TUint16 ReceiveMtu () const;
       
   383 	IMPORT_C TUint16 TransmitMtu () const;
       
   384 
       
   385 private:
       
   386 	TUint16 iVersion;
       
   387 	TUint16 iReceiveMtu;
       
   388 	TUint16 iTransmitMtu;
       
   389 
       
   390 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   391 	// None of these padding variables have been zero'd because they are currently not used
       
   392 	TUint32     iPadding1; 
       
   393 	TUint32     iPadding2; 		
       
   394 	TUint32     iPadding3; 
       
   395 	TUint32     iPadding4; 	
       
   396 	};
       
   397 
       
   398 struct TObexConnectionInfo;
       
   399 
       
   400 /**
       
   401 TObexConnectInfo
       
   402 This structure contains information used during OBEX connection. iVersion
       
   403 holds the encoded OBEX version of the machine, use @c VersionMajor() and
       
   404 @c VersionMinor() to extract the parts of the version number (each having a
       
   405 value from 0 to 15). @c iFlags holds OBEX connection flags. @c iWho holds 
       
   406 the Who attribute from the connect packet, if any was specified, or 
       
   407 otherwise has a length of 0. 
       
   408 It is recommended that this class is only ever allocated on the heap as it is quite big.
       
   409 */
       
   410 NONSHARABLE_CLASS(TObexConnectInfo)
       
   411 	{
       
   412 public:
       
   413 	IMPORT_C TObexConnectInfo();
       
   414 	IMPORT_C TUint8 VersionMajor() const;
       
   415 	IMPORT_C TUint8 VersionMinor() const;
       
   416 public:
       
   417 	TUint8 iVersion; /** Encoded OBEX version of the machine*/
       
   418 	TUint8 iFlags; /** iFlags holds OBEX connection flags*/
       
   419 	TBuf8<KObexObjectDescriptionSize> iWho; /** the Who attribute from the connect packet, if any was specified */
       
   420 	TBuf8<KObexObjectDescriptionSize> iTargetHeader; /** the Target header from the connect packet, if any was specified */
       
   421 	
       
   422 private:
       
   423 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   424 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   425 	TUint32     iPadding1; 
       
   426 	TUint32     iPadding2; 	
       
   427 	};
       
   428 
       
   429 
       
   430 
       
   431 //if these codes are extended due to a IRObex spec update ensure 
       
   432 //that the TInt immediately below are updated 
       
   433 //and the default in the method IrOBEXUtil::ObexResponse is also updated
       
   434 enum TObexResponse  
       
   435 	{ 
       
   436 /** Response is "Continue" */	
       
   437 	ERespContinue			= 0x10,
       
   438 	
       
   439 /** Response is "Success" */		
       
   440 	ERespSuccess			= 0x20,
       
   441 	
       
   442 /** Response is "Created" */		
       
   443 	ERespCreated			= 0x21,
       
   444 	
       
   445 /** Response is "Accepted" */		
       
   446 	ERespAccepted			= 0x22,
       
   447 	
       
   448 /** Response is "Non-Authenticated Information" */		
       
   449 	ERespNonAuthInfo		= 0x23,
       
   450 	
       
   451 /** Response is "No Content" */			
       
   452 	ERespNoContent			= 0x24,
       
   453 	
       
   454 /** Response is "Reset Content" */				
       
   455 	ERespResetContent		= 0x25,
       
   456 	
       
   457 /** Response is "Partial Content" */					
       
   458 	ERespPartialContent		= 0x26,
       
   459 	
       
   460 /** Response is "Multiple Choices" */						
       
   461 	ERespMultipleChoices	= 0x30,
       
   462 	
       
   463 /** Response is "Moved Permanently" */						
       
   464 	ERespMovedPerm			= 0x31,
       
   465 	
       
   466 /** Response is "Moved Temporarily" */							
       
   467 	ERespMovedTemp			= 0x32,
       
   468 
       
   469 /** Response is "See Other" */								
       
   470 	ERespSeeOther			= 0x33,
       
   471 
       
   472 /** Response is "Not Modified" */									
       
   473 	ERespNotModified		= 0x34,
       
   474 
       
   475 /** Response is "Use Proxy" */									
       
   476 	ERespUseProxy			= 0x35,
       
   477 
       
   478 /** Response is "Bad Request" */									
       
   479 	ERespBadRequest			= 0x40,
       
   480 
       
   481 /** Response is "Unauthorized" */									
       
   482 	ERespUnauthorized		= 0x41,
       
   483 
       
   484 /** Response is "Payment Required" */									
       
   485 	ERespPaymentRequired	= 0x42,
       
   486 
       
   487 /** Response is "Forbidden" */									
       
   488 	ERespForbidden			= 0x43,
       
   489 
       
   490 /** Response is "Not Found" */										
       
   491 	ERespNotFound			= 0x44,
       
   492 
       
   493 /** Response is "Method Not Allowed" */										
       
   494 	ERespMethodNotAllowed	= 0x45,
       
   495 
       
   496 /** Response is "Not Acceptable" */									
       
   497 	ERespNotAcceptable		= 0x46,
       
   498 
       
   499 /** Response is "Proxy Authentication is Required" */										
       
   500 	ERespProxyAuthenReqd	= 0x47,
       
   501 
       
   502 /** Response is "Timed Out" */										
       
   503 	ERespTimedOut			= 0x48,
       
   504 
       
   505 /** Response is "Conflict" */										
       
   506 	ERespConflict			= 0x49,
       
   507 
       
   508 /** Response is "Gone" */										
       
   509 	ERespGone				= 0x4A,
       
   510 
       
   511 /** Response is "Length Required" */										
       
   512 	ERespLengthReqd			= 0x4B,
       
   513 
       
   514 /** Response is "Precondition Failed" */											
       
   515 	ERespPreCondFailed		= 0x4C,
       
   516 
       
   517 /** Response is "Required Entity is Too Large" */											
       
   518 	ERespReqEntityTooLarge	= 0x4D,
       
   519 
       
   520 /** Response is "Required URL is Too Large" */											
       
   521 	ERespReqURLTooLarge		= 0x4E,
       
   522 
       
   523 /** Response is "Unsupported Media Type" */											
       
   524 	ERespUnsupMediaType		= 0x4F,
       
   525 
       
   526 /** Response is "Internal Error" */											
       
   527 	ERespInternalError		= 0x50,
       
   528 
       
   529 /** Response is "Not Implemented" */											
       
   530 	ERespNotImplemented		= 0x51,
       
   531 
       
   532 /** Response is "Bad Gateway" */											
       
   533 	ERespBadGateway			= 0x52,
       
   534 
       
   535 /** Response is "Service Unavailable" */											
       
   536 	ERespServiceUnavail		= 0x53,
       
   537 
       
   538 /** Response is "Gateway Timeout" */											
       
   539 	ERespGatewayTimeout		= 0x54,
       
   540 
       
   541 /** Response is "HTTP Version is Not Supported" */											
       
   542 	ERespHTTPVerNotSupp		= 0x55,
       
   543 
       
   544 /** Response is "Database is Full" */											
       
   545 	ERespDatabaseFull		= 0x60,
       
   546 
       
   547 /** Response is "Database is Locked" */											
       
   548 	ERespDatabaseLocked		= 0x61,
       
   549 
       
   550 /** Response is "Service is Unavailable" */											
       
   551 	ERespServiceUnavailable = 0xD3,
       
   552 	};
       
   553 
       
   554 
       
   555 //some error codes to be used specifically by the client
       
   556 //these shall, be mapped directly to OBEX defined error codes.
       
   557 const TInt KErrIrObexRespSuccess		= KErrIrObexRespBase - ERespSuccess;			//-5532 returns 0x20 (0xA0)
       
   558 const TInt KErrIrObexRespCreated		= KErrIrObexRespBase - ERespCreated;			//-5533 returns 0x21 (0xA1)
       
   559 const TInt KErrIrObexRespAccepted		= KErrIrObexRespBase - ERespAccepted;			//-5534 returns 0x22 (0xA2)
       
   560 const TInt KErrIrObexRespNonAuthInfo	= KErrIrObexRespBase - ERespNonAuthInfo;		//-5535 returns 0x23 (0xA3)
       
   561 const TInt KErrIrObexRespNoContent		= KErrIrObexRespBase - ERespNoContent;			//-5536 returns 0x24 (0xA4)
       
   562 const TInt KErrIrObexRespResetContent	= KErrIrObexRespBase - ERespResetContent;		//-5537 returns 0x25 (0xA5)
       
   563 const TInt KErrIrObexRespPartialContent = KErrIrObexRespBase - ERespPartialContent;		//-5538 returns 0x26 (0xA6)
       
   564 const TInt KErrIrObexRespMultipleChoices = KErrIrObexRespBase - ERespMultipleChoices;	//-5548 returns 0x30 (0xB0)
       
   565 const TInt KErrIrObexRespMovedPerm		= KErrIrObexRespBase - ERespMovedPerm;			//-5549 returns 0x31 (0xB1)
       
   566 const TInt KErrIrObexRespMovedTemp		= KErrIrObexRespBase - ERespMovedTemp;			//-5550 returns 0x32 (0xB2)
       
   567 const TInt KErrIrObexRespSeeOther		= KErrIrObexRespBase - ERespSeeOther;			//-5551 returns 0x33 (0xB3)
       
   568 const TInt KErrIrObexRespNotModified	= KErrIrObexRespBase - ERespNotModified;		//-5552 returns 0x34 (0xB4)
       
   569 const TInt KErrIrObexRespUseProxy		= KErrIrObexRespBase - ERespUseProxy;			//-5553 returns 0x35 (0xB5)
       
   570 const TInt KErrIrObexRespBadRequest		= KErrIrObexRespBase - ERespBadRequest;			//-5564 returns 0x40 (0xC0)
       
   571 const TInt KErrIrObexRespUnauthorized	= KErrIrObexRespBase - ERespUnauthorized;		//-5565 returns 0x41 (0xC1)
       
   572 const TInt KErrIrObexRespPaymentRequired = KErrIrObexRespBase - ERespPaymentRequired;	//-5566 returns 0x42 (0xC2)
       
   573 const TInt KErrIrObexRespForbidden		= KErrIrObexRespBase - ERespForbidden;			//-5567 returns 0x43 (0xC3)
       
   574 const TInt KErrIrObexRespNotFound		= KErrIrObexRespBase - ERespNotFound;			//-5568 returns 0x44 (0xC4)
       
   575 const TInt KErrIrObexRespMethodNotAllowed = KErrIrObexRespBase - ERespMethodNotAllowed;	//-5569 returns 0x45 (0xC5)
       
   576 const TInt KErrIrObexRespNotAcceptable	= KErrIrObexRespBase - ERespNotAcceptable;		//-5570 returns 0x46 (0xC6)
       
   577 const TInt KErrIrObexRespProxyAuthenReqd = KErrIrObexRespBase - ERespProxyAuthenReqd;	//-5571 returns 0x47 (0xC7)
       
   578 const TInt KErrIrObexRespTimedOut		= KErrIrObexRespBase - ERespTimedOut;			//-5572 returns 0x48 (0xC8)
       
   579 const TInt KErrIrObexRespConflict		= KErrIrObexRespBase - ERespConflict;			//-5573 returns 0x49 (0xC9)
       
   580 const TInt KErrIrObexRespGone			= KErrIrObexRespBase - ERespGone;				//-5574 returns 0x4A (0xCA)
       
   581 const TInt KErrIrObexRespLengthReqd		= KErrIrObexRespBase - ERespLengthReqd;			//-5575 returns 0x4B (0xCB)
       
   582 const TInt KErrIrObexRespPreCondFailed	= KErrIrObexRespBase - ERespPreCondFailed;		//-5576 returns 0x4C (0xCC)
       
   583 const TInt KErrIrObexRespReqEntityTooLarge = KErrIrObexRespBase - ERespReqEntityTooLarge;//-5577 returns 0x4D (0xCD)
       
   584 const TInt KErrIrObexRespReqURLTooLarge	= KErrIrObexRespBase - ERespReqURLTooLarge;		//-5578 returns 0x4E (0xCE)
       
   585 const TInt KErrIrObexRespUnsupMediaType = KErrIrObexRespBase - ERespUnsupMediaType;		//-5579 returns 0x4F (0xCF)
       
   586 const TInt KErrIrObexRespInternalError	= KErrIrObexRespBase - ERespInternalError;		//-5580 returns 0x50 (0xD0)
       
   587 const TInt KErrIrObexRespNotImplemented = KErrIrObexRespBase - ERespNotImplemented;		//-5581 returns 0x51 (0xD1)
       
   588 const TInt KErrIrObexRespBadGateway		= KErrIrObexRespBase - ERespBadGateway;			//-5582 returns 0x52 (0xD2)
       
   589 const TInt KErrIrObexRespServiceUnavail = KErrIrObexRespBase - ERespServiceUnavail;		//-5583 returns 0x53 (0xD3)
       
   590 const TInt KErrIrObexRespGatewayTimeout = KErrIrObexRespBase - ERespGatewayTimeout;		//-5584 returns 0x54 (0xD4)
       
   591 const TInt KErrIrObexRespHTTPVerNotSupp = KErrIrObexRespBase - ERespHTTPVerNotSupp;		//-5585 returns 0x55 (0xD5)
       
   592 const TInt KErrIrObexRespDatabaseFull	= KErrIrObexRespBase - ERespDatabaseFull;		//-5596 returns 0x60 (0xE0)
       
   593 const TInt KErrIrObexRespDatabaseLocked = KErrIrObexRespBase - ERespDatabaseLocked;		//-5597 returns 0x61 (0xE1)
       
   594 
       
   595 #endif // __OBEXCONSTANTS_H