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