epoc32/include/e32panic.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // Copyright (c) 1997-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 // e32\include\e32panic.h
    15 // 
    16 //
    17 
    18 
    19 
    20 /**
    21  @file e32panic.h
    22  @publishedAll
    23  @released
    24 */
    25 
    26 #ifndef __E32PANIC_H__
    27 #define __E32PANIC_H__
    28 
    29 
    30 
    31 
    32 /**
    33 Defines a set of panic numbers associated with the USER panic category.
    34 
    35 Some of these numbers are also associated with panics raised on
    36 the kernel side, and may be associated with 
    37 a number of category names, including KERN-COMMON, KERN-HEAP etc.
    38 */
    39 enum TCdtPanic
    40 	{
    41 	
    42 	/**
    43 	A thread has called User::Invariant(). 
    44 
    45     Typically, User::Invariant() is called when a test for a class
    46     invariant fails, i.e. when a test which checks that the internal data
    47     of an object is self-consistent, fails. 
    48 
    49     Check the design and implementation of your class.
    50     
    51     @see User
    52 	*/
    53 	EInvariantFalse=0,
    54 		
    55 	
    56 	/**
    57 	Not used.
    58 	*/
    59 	ETDateTimeUnderflow=1,
    60 	
    61 		
    62 	
    63 	/**
    64     Not used.
    65 	*/
    66 	ETDateTimeBadDate=2,
    67 	
    68 	
    69 	/**
    70 	A TDateTime object has been constructed with an invalid date or time field.
    71 
    72     @see TDateTime
    73 	*/
    74 	ETDateTimeBadDateTime=3,
    75 	
    76 	
    77     /**
    78     Not used.
    79 	*/
    80 	ETDateTimeAddDaysRange=4,
    81 	
    82 	
    83 	/**
    84     Not used.
    85 	*/
    86 	ETDateTimeAddMonthsRange=5,
    87 
    88 
    89 	/**
    90     Not used.
    91 	*/
    92 	ETDateTimeDaySecNegative=6,
    93 	
    94 	
    95 	/**
    96 	A panic raised by the Ptr() member function of a 16-bit descriptor
    97 	if the descriptor is invalid.
    98 	
    99 	@see TDesC16::Ptr()
   100 	*/
   101 	ETDes16BadDescriptorType=7,
   102 	
   103 	
   104 	/**
   105 	The length value passed to a 16-bit variant descriptor member
   106 	function is invalid.
   107 	
   108 	This panic may be raised by some descriptor constructors and, specifically,
   109 	by the Replace() and Set() descriptor member functions.
   110 	
   111 	@see TDes16
   112 	*/
   113 	ETDes16LengthOutOfRange=8,
   114 	
   115 	
   116 	/**
   117 	The index value passed to the 16-bit variant descriptor Operator[] is
   118 	out of bounds.
   119 	*/
   120 	ETDes16IndexOutOfRange=9,
   121 	
   122 	
   123 	/**
   124 	The position value passed to a 16-bit variant descriptor member function
   125 	is out of bounds.
   126 
   127 	The panic can be raised by the Left(), Right(), Mid(), Insert(), Delete()
   128 	and Replace() member functions of TDes16.
   129 
   130     @see TDes16
   131 	*/
   132 	ETDes16PosOutOfRange=10,
   133 	
   134 	
   135 	/**
   136 	An operation to move or copy data to a 16-bit variant descriptor,
   137 	will cause the length of that descriptor to exceed its maximum length.
   138 	
   139 	This may be caused by any of the copying, appending or formatting member
   140 	functions but, specifically, by the Insert(), Replace(), Fill(), Fillz(),
   141 	and ZeroTerminate() descriptor member functions. It can also be caused by
   142 	the SetLength() function.
   143 
   144     @see TDes16
   145 	*/
   146 	ETDes16Overflow=11,
   147 	
   148 	
   149 	/**
   150 	The format string passed to the 16-bit variant descriptor member functions
   151 	Format() and AppendFormat() has incorrect syntax.
   152 	
   153     @see TDes16
   154 	*/
   155 	ETDes16BadFormatDescriptor=12,
   156 	
   157 	
   158 	/**
   159 	An invalid variable list has been passed to the AppendFormatList() member
   160 	function of the 16-bit variant descriptor TDes16, when the format is %S or %s.
   161 	
   162     This panic is raised in debug builds only.
   163     
   164     @see TDes16
   165 	*/
   166 	ETDes16BadFormatParams=13,
   167 	
   168 	
   169 	/**
   170 	This panic is raised when expanding or contracting an HBufC16 buffer using
   171 	the ReAlloc() or ReAllocL() descriptor member functions and the new
   172 	specified length is too small to contain the data.
   173 	
   174 	@see HBufC16
   175 	*/
   176 	ETDes16ReAllocTooSmall=14,
   177 	
   178 	
   179 	/**
   180 	Not used.
   181 	*/
   182 	ETDes16RemoteBadDescriptorType=15,
   183 	
   184 	
   185     /**
   186 	In a call to the Replace() member function of the 16-bit variant
   187 	descriptor TDes16,the length of the source descriptor is negative
   188 	or exceeds the maximum length of the target descriptor.
   189 	
   190     @see TDes16
   191 	*/
   192 	ETDes16RemoteLengthOutOfRange=16,
   193 	
   194 	
   195 	/**
   196 	A 16-bit variant descriptor is being constructed with a negative
   197 	length value.
   198 	
   199 	This panic may also be raised if the Set(), Repeat() and the Find() member
   200 	functions are passed negative length values.
   201 	*/
   202 	ETDes16LengthNegative=17,
   203 	
   204 	
   205 	/**
   206 	A 16-bit variant descriptor is being constructed with a negative maximum 
   207 	length value.
   208 	*/
   209 	ETDes16MaxLengthNegative=18,
   210 	
   211 	
   212 	/**
   213 	A panic raised by the Ptr() member function of an 8-bit descriptor
   214 	if the descriptor is invalid.
   215 	
   216 	@see TDesC8::Ptr()
   217 	*/
   218 	ETDes8BadDescriptorType=19,
   219 	
   220 	
   221 	/**
   222 	The length value passed to an 8-bit variant descriptor member
   223 	function is invalid.
   224 	
   225 	This panic may be raised by some descriptor constructors and, specifically,
   226 	by the Replace() and Set() descriptor member functions.
   227 	
   228 	@see TDes8
   229 	*/
   230 	ETDes8LengthOutOfRange=20,
   231 	
   232 	
   233 	/**
   234 	The index value passed to the 8-bit variant descriptor Operator[] is
   235 	out of bounds.
   236 	*/
   237 	ETDes8IndexOutOfRange=21,
   238 	
   239 	
   240 	/**
   241 	The position value passed to an 8-bit variant descriptor member function
   242 	is out of bounds.
   243 
   244 	The panic can be raised by the Left(), Right(), Mid(), Insert(), Delete()
   245 	and Replace() member functions of TDes8
   246 
   247     @see TDes8
   248 	*/
   249 	ETDes8PosOutOfRange=22,
   250 	
   251 	
   252 	/**
   253 	An operation to move or copy data to an 8-bit variant descriptor,
   254 	will cause the length of that descriptor to exceed its maximum length.
   255 	
   256 	This may be caused by any of the copying, appending or formatting member
   257 	functions but, specifically, by the Insert(), Replace(), Fill(), Fillz(),
   258 	and ZeroTerminate() descriptor member functions. It can also be caused by
   259 	the SetLength() function.
   260 
   261     @see TDes8
   262 	*/
   263     ETDes8Overflow=23,
   264    	
   265 	
   266 	/**
   267 	The format string passed to the 8-bit variant descriptor member functions
   268 	Format() and AppendFormat() has incorrect syntax.
   269 	
   270     @see TDes8
   271 	*/
   272 	ETDes8BadFormatDescriptor=24,
   273 	
   274 	
   275 	/**
   276 	An invalid variable list has been passed to the AppendFormatList() member
   277 	function of the 8-bit variant descriptor TDes8, when the format is %S or %s.
   278 	
   279     This panic is raised in debug builds only.
   280     
   281     @see TDes8
   282 	*/
   283 	ETDes8BadFormatParams=25,
   284 		
   285 	
   286 	/**
   287 	This panic is raised when expanding or contracting an HBufC8 buffer using
   288 	the ReAlloc() or ReAllocL() descriptor member functions and the new
   289 	specified length is too small to contain the data.
   290 	
   291 	@see HBufC8
   292 	*/
   293 	ETDes8ReAllocTooSmall=26,
   294 	
   295 	
   296 	/**
   297 	Not used.
   298 	*/
   299 	ETDes8RemoteBadDescriptorType=27,
   300 	
   301 	
   302 	
   303     /**
   304 	In a call to the Replace() member function of the 8-bit variant
   305 	descriptor TDes8,the length of the source descriptor is negative
   306 	or exceeds the maximum length of the target descriptor.
   307 	
   308     @see TDes8
   309 	*/
   310 	ETDes8RemoteLengthOutOfRange=28,
   311 	
   312 	
   313 	/**
   314 	An 8-bit variant descriptor is being constructed with a negative
   315 	length value.
   316 	
   317 	This panic may also be raised if the Set(), Repeat() and the Find() member
   318 	functions are passed negative length values.
   319 	*/
   320 	ETDes8LengthNegative=29,
   321 	
   322 	
   323 	/**
   324 	An 8-bit variant descriptor is being constructed with a negative maximum 
   325 	length value.
   326 	*/
   327 	ETDes8MaxLengthNegative=30,
   328 	
   329 	
   330 	/**
   331 	Not used.
   332 	*/
   333 	ETEntLeaveWithoutEnter=31,
   334 	
   335 	
   336 	/**
   337 	It is raised by TRawEvent::Pos() when
   338 	the event is not a mouse/pen type event.
   339     
   340     This panic is raised in debug builds only.
   341     */
   342 	ETEventNotMoveType=32,
   343 	
   344 	
   345 	/**
   346     It is raised by TRawEvent::ScanCode() when
   347     the event is not a key down or key up event.
   348     
   349    	This panic is raised in debug builds only.
   350 	*/
   351 	ETEventNotKeyType=33,
   352 	
   353 	
   354 	/**
   355     It is raised by TRawEvent::Modifiers() when
   356     the event is not a modifier update event.
   357 	
   358    	This panic is raised in debug builds only.
   359 	*/
   360     ETEventNotUpdateModifiersType=34,
   361     
   362     
   363     /**
   364     This panic is raised by the default At() virtual member function of TKey.
   365     
   366     The function is intended to be overridden by a derived class.
   367     
   368     @see TKey
   369     */
   370 	ETFuncTKeyVirtualAt=35,
   371 	
   372 	
   373 	/**
   374 	This panic is raised by the default Swap() virtual member function of TSwap.
   375 	
   376 	The function is intended to be overridden by a derived class.
   377 
   378 	@see TSwap
   379 	*/
   380 	ETFuncTSwapVirtualSwap=36,
   381 	
   382 	
   383 	/**
   384 	The index value passed to the operator[] of a TUidType is negative
   385 	or is greater than or equal to KMaxCheckedUid.
   386 	
   387 	@see KMaxCheckedUid
   388 	@see TUidType
   389 	*/
   390 	ETFuncUidTypeBadIndex=37,
   391 	
   392 	
   393 	/**
   394 	The length of the descriptor passed to the Set(TDesC8&) member function of TCheckedUid 
   395 	is not equal to the size of a TCheckedUid object.
   396 	
   397 	@see TCheckedUid
   398 	*/
   399 	ETFuncCheckedUidBadSet=38,
   400 	
   401 	
   402 	/**
   403 	The size specified of a new heap is smaller than the permitted minimum;
   404 	it must be at least the size of a RHeap object.
   405 	
   406 	On the user side this is associated with the USER category; on the kernel side
   407 	this is associated with the KERN-HEAP category.
   408 	*/
   409 	ETHeapNewBadSize=39,
   410 
   411 	
   412 	/**
   413 	Not used.
   414 	*/
   415 	ETHeapCreateSizeTooSmall=40,
   416 	
   417 	
   418 	/**
   419 	In a call to UserHeap::ChunkHeap(), the value defining the minimum length
   420 	of the heap is greater than the value defining the maximum length to
   421 	which the heap can grow.
   422 
   423     @see UserHeap
   424 	*/
   425 	ETHeapCreateMaxLessThanMin=41,
   426 	
   427 	
   428 	/**
   429 	In a call to the RHeap member functions, AllocLen(), Free(), FreeZ(),
   430 	ReAlloc(), ReAllocL(), Adjust() and AdjustL(), a pointer passed to these
   431 	functions does not point to a valid cell.
   432 
   433 	On the user side this is associated with the USER category; on the kernel side
   434 	this is associated with the KERN-HEAP category.
   435 	*/
   436 	ETHeapBadCellAddress=42,
   437 	
   438 	
   439 	/**
   440 	In a call to the Adjust() and AdjustL() member functions of RHeap, a heap
   441 	cell is being shrunk and the amount by which the cell is being shrunk
   442 	is less than the current length of the cell.
   443 	*/
   444 	ETHeapAdjustTooSmall=43,
   445 	
   446 	
   447 	/**
   448 	In a call to the Free() and FreeZ() member functions of RHeap,the cell
   449 	being freed overlaps the next cell on the free list (i.e. the first cell
   450 	on the free list with an address higher than the one being freed).
   451 	*/
   452 	ETHeapFreeBadNextCell=44,
   453 	
   454 	
   455 	/**
   456 	In a call to the Free() and FreeZ() member functions of RHeap, the cell
   457 	being freed overlaps the previous cell on the free list (i.e. the last cell
   458 	on the free list with an address lower than the one being freed).
   459 	*/
   460 	ETHeapFreeBadPrevCell=45,
   461 	
   462 	
   463 	/**
   464 	In a call to the ReAlloc() and ReAllocL() member functions of RHeap, the
   465 	cell being reallocated overlaps the next cell on the free list (i.e. the
   466 	first cell on the free list with an address higher than the one being
   467 	reallocated).
   468 	*/
   469 	ETHeapReAllocBadNextCell=46,
   470 	
   471 	
   472 	/**
   473 	In a call to the Alloc(), AllocL() or AllocLC() member functions of RHeap,
   474 	an attempt has been made to allocate a cell from a heap, using an unsigned
   475 	size value which is greater than or equal to the value of KMaxTInt/2.
   476 
   477     This panic may also be raised by the heap walker when it finds a bad
   478     allocated heap cell size.
   479     
   480     @see User::Check()
   481     @see RAllocator::Check()
   482     @see KMaxTInt
   483 	*/
   484 	ETHeapBadAllocatedCellSize=47,
   485 	
   486 	
   487 	/**
   488 	This panic is raised by the heap walker when it finds a bad
   489 	allocated heap cell address.
   490 	*/
   491 	ETHeapBadAllocatedCellAddress=48,
   492 	
   493 	
   494 	/**
   495 	This panic is raised by the heap walker when it finds a bad
   496 	free heap cell address.
   497 	*/
   498 	ETHeapBadFreeCellAddress=49,
   499 	
   500 	
   501 	/**
   502 	Not used.
   503 	*/
   504 	ETHeapDebugBufferOverflow=50,
   505 	
   506 	
   507 	/**
   508 	A call has been made to the __DbgMarkEnd() member function of RHeap, when
   509 	there has been no corresponding call to the __DbgMarkStart() member function.
   510 	
   511 	This panic is also raised when there are more calls to __DbgMarkEnd() than
   512 	to __DbgMarkStart(). These functions are part of the debug assistance provided by
   513 	the RHeap class.
   514 
   515     This panic is raised in debug builds only.
   516 	*/
   517 	ETHeapDebugUnmatchedCallToCheckHeap=51,
   518 	
   519 	
   520 	/**
   521 	In a call to the Adjust() and AdjustL() member functions of an RHeap,
   522 	the offset from the start of the cell being stretched or shrunk is
   523 	a negative value.
   524 	*/
   525 	ETHeapAdjustOffsetNegative=52,
   526 	
   527 	
   528 	/**
   529 	Not used.
   530 	*/
   531 	ETHeapAllocSizeNegative=53,
   532 	
   533 	
   534 	/**
   535 	In a call to the ReAlloc() and ReAllocL() member functions of an RHeap,
   536 	the new size for the cell being reallocated is a negative value.
   537 	*/
   538 	ETHeapReAllocSizeNegative=54,
   539 	
   540 	
   541 	/**
   542 	This panic is caused by the UserHeap::ChunkHeap() static function when
   543 	the value defining the minimum length of the heap is negative.
   544 	*/
   545 	ETHeapMinLengthNegative=55,
   546 	
   547 	
   548 	/**
   549 	This panic is caused by the UserHeap::ChunkHeap() static function when
   550 	the value defining the maximum length to which the heap can grow,
   551 	is negative.
   552 	*/
   553 	ETHeapMaxLengthNegative=56,
   554 	
   555 	
   556 	/**
   557 	This panic is raised when closing a shared heap using the Close() member
   558 	function of RHeap and the access count is zero or negative.
   559 	
   560 	A zero or negative access count suggests that an attempt is being made
   561 	to close the heap too many times.
   562 	*/
   563 	EAllocatorClosedTooManyTimes=57,
   564 	
   565 	
   566 	/**
   567 	This panic is raised when opening a heap for shared access using the Open()
   568 	member function of RHeap and the heap type is not EChunkNormal.
   569 	*/
   570 	ETHeapOnlyChunkHeaps=58,
   571 	
   572 	
   573 	/**
   574 	This panic is raised by the UnGet() member function of the 8-bit variant
   575 	lexical analyzer, TLex8, if the character position is already at
   576 	the start of the string.
   577 
   578     @see TLex8
   579 	*/
   580 	ETLex8UnGetUnderflow=59,
   581 	
   582 	
   583 	/**
   584 	This panic is raised by the Inc() member function of the 8-bit variant
   585 	lexical analyzer, TLex8, if the resulting character position lies before
   586 	the start of the string or after the end of the string.
   587 
   588     @see TLex8
   589 	*/
   590 	ETLex8IncOutOfRange=60,
   591 	
   592 	
   593 	/**
   594 	This panic is raised by the SkipAndMark() member function of the 8-bit
   595 	variant lexical analyzer, TLex8, if the resulting character position lies
   596 	before the start of the string, or after the end of the string.
   597 
   598     @see TLex8
   599 	*/
   600 	ETLex8SkipOutOfRange=61,
   601 	
   602 	
   603 	/**
   604 	Not used.
   605 	*/
   606 	ETLex8BadFormatList=62,
   607 	
   608 	
   609 	/**
   610 	This panic is raised by the ValidateMark() member function of the 8-bit
   611 	variant lexical analyzer, TLex8, if the position of the extraction mark
   612 	lies before the start of the string or after the end of the string.
   613 
   614     @see TLex8
   615 	*/
   616 	ETLex8MarkOutOfRange=63,
   617 	
   618 	
   619 	/**
   620 	This panic is raised by the UnGet() member function of the 16-bit variant
   621 	lexical analyzer, TLex16, if the character position is already at the start
   622 	of the string.
   623 
   624     @see TLex16
   625 	*/
   626 	ETLex16UnGetUnderflow=64,
   627 	
   628 	
   629 	/**
   630 	This panic is raised by the Inc() member function of the 16-bit variant
   631 	lexical analyzer, TLex16, if the resulting character position lies before
   632 	the start of the string or after the end of the string.
   633 
   634     @see TLex16
   635 	*/
   636 	ETLex16IncOutOfRange=65,
   637 	
   638 	
   639 	/**
   640 	This panic is raised by the SkipAndMark() member function of the 16-bit
   641 	variant lexical analyzer, TLex16, if the resulting character position lies
   642 	before the start of the string or after the end of the string.
   643 
   644     @see TLex16
   645 	*/
   646 	ETLex16SkipOutOfRange=66,
   647 	
   648 	
   649 	/**
   650 	Not used.
   651 	*/
   652 	ETLex16BadFormatList=67,
   653 	
   654 	
   655 	/**
   656 	This panic is raised by the ValidateMark() member function of the 16-bit
   657 	variant lexical analyzer, TLex16, if the position of the extraction mark
   658 	lies before the start of the string or after the end of the string.
   659 
   660     @see TLex16
   661 	*/
   662 	ETLex16MarkOutOfRange=68,
   663 	
   664 	
   665 	/**
   666 	This panic is raised by the TDateSuffix constructor or its Set() member
   667 	function when the suffix index specified is negative or is greater than or
   668 	equal to the value KMaxSuffixes.
   669 	
   670 	The index is used to access a locale dependent table of suffix characters,
   671 	which can be appended to the dates of the month (e.g. the characters "st" 
   672 	for 1st, "nd" for 2nd, "st" for 31st).
   673 	
   674 	@see TDateSuffix
   675 	@see KMaxSuffixes
   676 	*/
   677 	ETLoclSuffixOutOfRange=69,
   678 	
   679 	
   680 	/**
   681 	This panic is raised when attempting to complete a client/server request
   682 	and the RMessagePtr is null.
   683 	*/
   684 	ETMesCompletion=70,
   685 	
   686 	
   687 	/**
   688 	Not used.
   689 	*/
   690 	EMesBadRetryCount=71,
   691 	
   692 	
   693 	/**
   694 	This panic is raised by the Send() and SendReceive() member functions
   695 	of RSessionBase, the client interface for communication with a server,
   696 	when the specified operation code identifying the required service is
   697 	either negative or a value greater than KMaxTint.
   698 	
   699 	@see RSessionBase
   700 	@see KMaxTint
   701 	*/
   702 	ETMesBadFunctionNumber=72,
   703 	
   704 	
   705 	/**
   706 	This panic is raised by the Receive() member function of RServer,
   707 	the handle to the server, when the attempt to receive a message
   708 	for the server, synchronously, fails.
   709 
   710     @see RServer
   711 	*/
   712 	ETMesReceiveFailed=73,
   713 	
   714 	
   715 	/**
   716 	Not used.
   717 	*/
   718 	ESQueOffsetNegative=74,
   719 	
   720 	
   721 	/**
   722 	This panic is raised by the constructor of a singly linked list header,
   723 	a TSglQue or by the SetOffset() member function when the specified offset
   724 	is not 4 byte aligned, i.e. when it is not divisible by 4.
   725 
   726     @see TSglQue
   727 	*/
   728 	ESQueOffsetNotAligned=75,
   729 	
   730 	
   731 	/**
   732 	This panic is raised when attempting to remove an object from a singly
   733 	linked list, using the Remove() member function of TSglQue, when
   734 	that object is not in the list.
   735 
   736     @see TSglQue
   737 	*/
   738 	ESQueLinkNotQueued=76,
   739 	
   740 	
   741 	/**
   742 	Not used.
   743 	*/
   744 	ETQueOffsetNegative=77,
   745 
   746 	
   747 	/**
   748 	This panic is raised by the constructor of a doubly linked list header,
   749 	a TDblQue or by the SetOffset() member function, when the specified
   750 	offset is not 4 byte aligned, i.e. when it is not divisible by 4.
   751 
   752     @see TDblQue
   753 	*/
   754 	ETQueOffsetNotAligned=78,
   755 	
   756 	
   757 	/**
   758 	This panic is raised by a call to either the First() or the Last() member
   759 	functions of a doubly linked list, a TDblQue, which return pointers
   760 	to the first and last element in the list respectively; the panic
   761 	occurs when the list is empty.
   762 
   763     This panic is raised in debug builds only.
   764 
   765     @see TDblQue
   766 	*/
   767 	ETQueQueueEmpty=79,
   768 	
   769 	
   770 	/**
   771     This panic is raised by the post increment operator, operator++, the post
   772     decrement operator, operator- and the return current element
   773     operator, operator T*, of the doubly linked list iterator, a TDblQueIter;
   774     the panic occurs when the element returned by these operators is not in
   775     the list.
   776     
   777     Typically, this is caused by the removal of the element from the list prior
   778     to calling these operators.
   779 	
   780     This panic is raised in debug builds only.
   781     
   782     @see TDblQueIter
   783 	*/
   784 	ETQueLinkHasBeenRemoved=80,
   785 	
   786 	
   787 	/**
   788 	This panic is raised by the get rectangle operator, operator[], of
   789 	a clipping region, derived from the abstract base class TRegion.
   790 	
   791 	The panic occurs when the index, which refers to the specific rectangle
   792 	within the region, is greater than or equal to the number of rectangles
   793 	contained within the region (as returned by the Count() member function).
   794 
   795     The index must be strictly less than the number of contained rectangles.
   796 
   797     @see TRegion
   798 	*/
   799 	ETRegionOutOfRange=81,
   800 	
   801 	
   802 	/**
   803 	This panic is raised when sorting the rectangles within a clipping region,
   804 	derived from the abstract base class TRegion, using the Sort() member
   805 	function of TRegion.
   806 	
   807 	The panic occurs when the region is invalid.
   808 
   809     This panic is raised in debug builds only.
   810 
   811     @see TRegion
   812 	*/
   813 	ETRegionInvalidRegionInSort=82,
   814 	
   815 	
   816 	/**
   817 	This panic occurs when the Kernel sends a message to the Kernel server
   818 	and this completes with an error, i.e. an error code which is not KErrNone.
   819 	*/
   820 	ETUtlKernelServerSend=83,
   821 	
   822 	
   823 	/**
   824 	This panic is raised by the Panic() member function of RTest, the test class.
   825 	*/
   826 	ERTestFailed=84,
   827 	
   828 	
   829 	/**
   830 	This panic is raised by the CheckConsoleCreated() member functions of
   831 	RTest and RTestJ, the test classes, when the creation of a console, 
   832 	as derived from a CConsoleBase, fails.
   833 	*/
   834 	ERTestCreateConsole=85,
   835 	
   836 	
   837 	/**
   838 	This panic is raised by the static function User::After() when
   839 	the specified time interval is negative.
   840 	*/
   841 	EExecAfterTimeNegative=86,
   842 	
   843 	
   844 	/**
   845 	This panic is raised when the time interval passed to the After() member
   846 	function of RTimer is negative.
   847 
   848     @see RTimer
   849 	*/
   850 	ERTimerAfterTimeNegative=87,
   851 	
   852 	
   853 	/**
   854 	This panic is raised by Mem::Compare(), Mem::CompareC() and Mem::CompareF()
   855 	when the length of the area of memory designated as the left hand area,
   856 	is negative.
   857 	
   858 	This panic is raised in debug builds only.
   859 
   860 	On the user side this is associated with the USER category; on the kernel side
   861 	this is associated with the KERN-COMMON category.
   862 
   863 	@see Mem
   864 	*/
   865 	EMemLeftNegative=88,
   866 	
   867 	
   868 	/**
   869 	This panic is raised by Mem::Compare(), Mem::CompareC() and Mem::CompareF()
   870 	when the length of the area of memory designated as the right hand area,
   871 	is negative.
   872 	
   873 	This panic is raised in debug builds only.
   874 
   875 	On the user side this is associated with the USER category; on the kernel side
   876 	this is associated with the KERN-COMMON category.
   877 
   878 	@see Mem
   879 	*/
   880 	EMemRightNegative=89,
   881 	
   882 	
   883 	/**
   884 	This panic is raised by Mem::Copy() when the length of the area of memory
   885 	to be copied is negative.
   886 
   887 	This panic is raised in debug builds only.
   888 
   889 	On the user side this is associated with the USER category; on the kernel side
   890 	this is associated with the KERN-COMMON category.
   891 
   892 	@see Mem
   893 	*/
   894 	EMemCopyLengthNegative=90,
   895 	
   896 	
   897 	/**
   898 	This panic is raised by Mem::Move() when the length of the area of memory
   899 	to be moved is not a multiple of 4.
   900 
   901 	This panic is raised in debug builds only.
   902 
   903 	On the user side this is associated with the USER category; on the kernel side
   904 	this is associated with the KERN-COMMON category.
   905 
   906 	@see Mem
   907 	*/
   908 	EWordMoveLengthNotMultipleOf4=91,
   909 	
   910 	
   911 	/**
   912 	This panic is raised by Mem::Move() when the address of the source for
   913 	the move operation is not aligned on a 4 byte boundary.
   914 
   915 	This panic is raised in debug builds only.
   916 
   917 	On the user side this is associated with the USER category; on the kernel side
   918 	this is associated with the KERN-COMMON category.
   919 
   920 	@see Mem
   921 	*/
   922 	EWordMoveSourceNotAligned=92,
   923 	
   924 	
   925 	/**
   926 	This panic is raised by Mem::Move() when the address of the target for
   927 	the move operation is not aligned on a 4 byte boundary.
   928 
   929 	This panic is raised in debug builds only.
   930 
   931 	On the user side this is associated with the USER category; on the kernel side
   932 	this is associated with the KERN-COMMON category.
   933 
   934 	@see Mem
   935 	*/
   936 	EWordMoveTargetNotAligned=93,
   937 	
   938 	
   939 	/**
   940 	This panic is raised by Mem::Swap() when the length of the area of
   941 	memory to be swapped is negative.
   942 
   943 	This panic is raised in debug builds only.
   944 
   945 	On the user side this is associated with the USER category; on the kernel side
   946 	this is associated with the KERN-COMMON category.
   947 
   948 	@see Mem
   949 	*/
   950 	EMemSwapLengthNegative=94,
   951 	
   952 	
   953 	/**
   954 	This panic is raised by Mem::Fill() and Mem::FillZ() when the length of
   955 	the area of memory to be filled is negative.
   956 
   957 	This panic is raised in debug builds only.
   958 
   959 	On the user side this is associated with the USER category; on the kernel side
   960 	this is associated with the KERN-COMMON category.
   961 
   962 	@see Mem
   963 	*/
   964 	EMemFillLengthNegative=95,
   965 	
   966 	
   967 	/**
   968 	The value for the number of records to be sorted passed
   969 	to User::QuickSort() is negative.
   970 
   971     @see User
   972 	*/
   973 	ESortCountNegative=96,
   974 	
   975 	
   976 	/**
   977 	The value for the number of records taking part in the search passed
   978 	to User::BinarySearch() is negative.
   979 	
   980 	@see User
   981 	*/
   982 	EBinarySearchCountNegative=97,
   983 	
   984 	
   985 	/**
   986 	This panic is raised by the constructor of the base key class, TKey.
   987 	
   988 	It occurs when the offset value passed to the constructor is negative.
   989 	As TKey is an abstract class, i.e. objects of type TKey are not intended
   990 	to be explicitly constructed, look at the offset value passed to
   991 	the constructors of derived classes such as TKeyArrayFix, TKeyArrayVar,
   992 	and TKeyArrayPak for the cause of the panic.
   993 
   994     @see TKey
   995     @see TKeyArrayFix
   996     @see TKeyArrayVar
   997 	@see TKeyArrayPak
   998 	*/
   999 	EKeyOffsetNegative=98,
  1000 	
  1001 	
  1002 	/**
  1003 	This panic is raised when a local or global chunk is created using
  1004 	the RChunk member functions: CreateLocal(), CreateGlobal(),
  1005 	CreateDoubleEndedLocal() and CreateDoubleEndedGlobal().
  1006 	
  1007 	It occurs when the value for the maximum size to which this chunk can
  1008 	be adjusted, is negative.
  1009 	
  1010 	@see RChunk
  1011 	*/
  1012 	EChkCreateMaxSizeNegative=99,
  1013 	
  1014 	
  1015 	/**
  1016 	This panic is raised when a local or global chunk is created using
  1017 	the RChunk member functions: CreateLocal() and CreateGlobal().
  1018 	
  1019 	It occurs when the value for the number of bytes to be committed to 
  1020 	this chunk on creation, is negative.
  1021 
  1022 	@see RChunk
  1023 	*/
  1024 	EChkCreateSizeNotPositive=100,
  1025 	
  1026 	
  1027 	/**
  1028 	This panic is raised when a local or global chunk is created using
  1029 	the RChunk member functions: CreateLocal() and CreateGlobal().
  1030 	
  1031 	It occurs when the value for the number of bytes to be committed to
  1032 	this chunk on creation is greater than the value for the maximum size
  1033 	to which this chunk can be adjusted.
  1034 
  1035 	@see RChunk
  1036 	*/
  1037 	EChkCreateMaxLessThanMin=101,
  1038 	
  1039 	
  1040 	/**
  1041 	This panic is raised when changing the number of bytes committed to a chunk
  1042 	by calling the Adjust() member function of RChunk.
  1043 	
  1044 	The panic occurs when the value passed to the function is negative.
  1045 	
  1046 	@see RChunk
  1047 	*/
  1048 	EChkAdjustNewSizeNegative=102,
  1049 	
  1050 	
  1051 	/**
  1052 	Not used.
  1053 	*/
  1054 	ESesDelayTimeNegative=103,
  1055 	
  1056 	
  1057 	/**
  1058 	Not used.
  1059 	*/
  1060 	ESesRetryCountNegative=104,
  1061 	
  1062 	
  1063 	/**
  1064 	This panic is raised when a local or global semaphore is created using
  1065 	the RSemaphore member functions: CreateLocal() and CreateGlobal(), and
  1066 	the value for the initial semaphore count is negative.
  1067 	
  1068 	@see RSemaphore
  1069 	*/
  1070 	ESemCreateCountNegative=105,
  1071 	
  1072 	
  1073 	/**
  1074 	This panic is raised when a semaphore is signaled using
  1075 	the Signal(TInt aCount) member function and the count value is negative.
  1076 
  1077     @see RSemaphore
  1078 	*/
  1079 	ESemSignalCountNegative=106,
  1080 	
  1081 	
  1082 	/**
  1083 	This panic is raised when a critical section is signalled using
  1084 	the Signal() member function and the call to Signal() is not matched
  1085 	by an earlier call to Wait(), which suggests that this is a stray signal.
  1086 
  1087     @see RCriticalSection
  1088 	*/
  1089 	ECriticalSectionStraySignal=107,
  1090 	
  1091 	
  1092 	/**
  1093 	Not used.
  1094 	*/
  1095 	EThrdHeapNotChunkType=108,
  1096 	
  1097 	
  1098 	/**
  1099 	This panic is raised when creating a thread using the Create() member
  1100 	functions of RThread.
  1101 	
  1102 	The panic occurs when the value of the stack size passed to
  1103 	these functions is negative.
  1104 	
  1105     @see RThread
  1106 	*/
  1107 	EThrdStackSizeNegative=109,
  1108 	
  1109 	
  1110 	/**
  1111 	This panic is raised when creating a thread using the Create() member
  1112 	functions of RThread.
  1113 	
  1114 	The panic is only raised by those variants of Create() that create a new
  1115 	heap for the new thread. The panic occurs if the minimum heap size
  1116 	specified is less than KMinHeapSize.
  1117 
  1118     @see RThread
  1119     @see KMinHeapSize
  1120 	*/
  1121 	EThrdHeapMinTooSmall=110,
  1122 	
  1123 	
  1124 	/**
  1125 	This panic is raised when creating a thread using the Create() member
  1126 	functions of RThread.
  1127 	
  1128 	The panic is only raised by those variants of Create() which create a new
  1129 	heap for the new thread. The panic occurs if the minimum heap size
  1130 	specified is greater than the maximum size to which the heap can grow.
  1131 	
  1132     @see RThread
  1133 	*/
  1134 	EThrdHeapMaxLessThanMin=111,
  1135 	
  1136 	
  1137 	/**
  1138 	This panic is raised by the Alloc() and AllocL() member functions of class
  1139 	RRef when the size value passed is negative.
  1140 	*/
  1141 	ERefAllocSizeNegative=112,
  1142 	
  1143 	
  1144 	/**
  1145 	This panic is raised by:
  1146 
  1147     1. the constructor of a time representation object, a TTime, which takes
  1148        a text string, when the format of that text string is incorrect
  1149        or represents an invalid date/time.
  1150        
  1151     2. the Parse() member function of a time representation object, a TTime,
  1152        if the century offset value is either negative or is greater than
  1153        or equal to 100.
  1154        
  1155     3. the Time::DaysInMonth() function, if an invalid month value is passed.
  1156 
  1157     @see TTime
  1158     @see Time
  1159 	*/
  1160 	ETTimeValueOutOfRange=113,
  1161 	
  1162 	
  1163 	/**
  1164     This panic is raised by member functions of TBusLocalDrive when no
  1165     connection has been made to a local drive.
  1166     
  1167 	This panic is raised in debug builds only.
  1168 	
  1169 	@see TBusLocalDrive
  1170 	*/
  1171 	EDriveNotConnected=114,
  1172 	
  1173 	
  1174 	/**
  1175 	This panic is raised when attempting to connect to a local drive
  1176 	using the Connect() member function of TBusLocalDrive, and
  1177 	the specified drive number is out of range, i.e. the drive number
  1178 	is negative or is greater than or equal to KMaxLocalDrives.
  1179 	
  1180 	@see TBusLocalDrive
  1181 	@see KMaxLocalDrives
  1182 	*/
  1183 	EDriveOutOfRange=115,
  1184 	
  1185 	
  1186 	/**
  1187 	This panic is raised by the Lookup() member function of RLibrary when
  1188 	the ordinal number of the required DLL function, is zero or negative.
  1189     
  1190     @see RLibrary
  1191 	*/
  1192 	EBadLookupOrdinal=116,
  1193 	
  1194 	
  1195 	/**
  1196 	Not used.
  1197 	*/
  1198 	EChunkHeapBadOffset=117,
  1199 	
  1200 	
  1201 	/**
  1202 	Not used.
  1203 	*/
  1204 	ETQueLinkAlreadyInUse=118,
  1205 	
  1206 	
  1207 	/**
  1208 	This panic is raised when setting a new currency symbol using
  1209 	the User::SetCurrencySymbol() function.
  1210 	
  1211 	The panic occurs when the length of the descriptor containing
  1212 	the new symbol is greater than KMaxCurrencySymbol.
  1213  	
  1214  	@see User
  1215  	@see KMaxCurrencySymbol
  1216 	*/
  1217 	ECurrencySymbolOverflow=119,
  1218 	
  1219 	
  1220 	/**
  1221 	This panic is raised by the CreateDoubleEndedLocal()
  1222 	and CreateDoubleEndedGlobal() member functions of RChunk when the lower
  1223 	address of the committed region is negative.
  1224 	
  1225 	@see RChunk
  1226 	*/
  1227 	EChkCreateBottomNegative=120,
  1228 	
  1229 	
  1230 	/**
  1231 	This panic is raised by the CreateDoubleEndedLocal()
  1232 	and CreateDoubleEndedGlobal() member functions of RChunk when the upper
  1233 	address of the committed region is negative.
  1234 	
  1235 	@see RChunk
  1236 	*/
  1237 	EChkCreateTopNegative=121,
  1238 	
  1239 	
  1240 	/**
  1241 	This panic is raised by the CreateDoubleEndedLocal()
  1242 	and CreateDoubleEndedGlobal() member functions of RChunk when the upper
  1243 	address of the committed region is lower than the lower address of
  1244 	the committed region.
  1245 
  1246 	@see RChunk
  1247 	*/
  1248 	EChkCreateTopLessThanBottom=122,
  1249 	
  1250 	
  1251 	/**
  1252 	This panic is raised by the CreateDoubleEndedLocal()
  1253 	and CreateDoubleEndedGlobal() member functions of RChunk when the upper
  1254 	address of the committed region is lower than the maximum size to which
  1255 	this chunk can be adjusted.
  1256 
  1257 	@see RChunk
  1258 	*/
  1259 	EChkCreateTopBiggerThanMax=123,
  1260 	
  1261 	
  1262 	/**
  1263 	This panic is raised by RChunk::AdjustDoubleEnded() when the lower address
  1264 	of the committed region is negative.
  1265 	
  1266     @see RChunk
  1267 	*/
  1268 	EChkAdjustBottomNegative=124,
  1269 	
  1270 	
  1271 	/**
  1272 	This panic is raised by RChunk::AdjustDoubleEnded() when the upper address
  1273 	of the committed region is negative.
  1274 	
  1275     @see RChunk
  1276 	*/
  1277 	EChkAdjustTopNegative=125,
  1278 	
  1279 	
  1280 	/**
  1281 	This panic is raised by RChunk::AdjustDoubleEnded() when the upper address
  1282 	of the committed region is lower than the lower address of the committed
  1283 	region.
  1284 	
  1285     @see RChunk
  1286 	*/
  1287 	EChkAdjustTopLessThanBottom=126,
  1288 	
  1289 	
  1290 	/**
  1291 	This panic is raised when constructing an array of pointers,
  1292 	an RPointerArray, and specifying a granularity value which is
  1293 	one of the following:
  1294 
  1295     1. zero
  1296 
  1297     2. negative
  1298 
  1299     3. greater than 0x10000000.
  1300     
  1301     @see RPointerArray
  1302 	*/
  1303 	EBadArrayGranularity=127,
  1304 	
  1305 	
  1306 	/**
  1307 	This panic is raised when constructing an array of fixed length objects,
  1308 	an RArray, and specifying a key offset value which is one of the following:
  1309 
  1310     1. negative
  1311 
  1312     2. not a multiple of 4
  1313 
  1314     3. greater than or equal to the size of the array elements.
  1315     
  1316     @see RArray
  1317 	*/
  1318 	EBadArrayKeyOffset=128,
  1319 	
  1320 	
  1321 	/**
  1322 	This panic is raised when constructing an array of fixed length objects,
  1323 	an RArray, and the length of the array elements is one of the following:
  1324 
  1325     1. zero
  1326 
  1327     2. negative
  1328 
  1329     3. greater than 640.
  1330     
  1331     @see RArray
  1332 	*/
  1333 	EBadArrayEntrySize=129,
  1334 	
  1335 	
  1336 	/**
  1337 	This panic is raised when an index value passed to a member function
  1338 	of RArray or RPointerArray identifying an array element, is out of bounds.
  1339 
  1340     @see RArray
  1341     @see RPointerArray
  1342 	*/
  1343 	EBadArrayIndex=130,
  1344 	
  1345 	
  1346 	/**
  1347 	This panic is raised when the value identifying the insertion position
  1348 	in a call to RArray::Insert() or RPointerArray::Insert(), is either
  1349 	negative or greater than the number of elements in the array.
  1350 
  1351     @see RArray
  1352     @see RPointerArray
  1353 	*/
  1354 	EBadArrayPosition=131,
  1355 	
  1356 	
  1357 	/**
  1358 	This panic is raised when an index value passed to
  1359 	Mem::CollationMethodByIndex() or Mem::CollationMethodId() is out of bounds.
  1360 
  1361     @see Mem
  1362 	*/
  1363 	EBadCollationRulesIndex=132,
  1364 	
  1365 	
  1366 	/**
  1367 	This panic is raised when an index value passed to TFixedArray::At()
  1368     or TFixedArray::operator[] is out of bounds.
  1369 
  1370     @see TFixedArray
  1371 	*/
  1372 	EBadFixedArrayIndex=133,
  1373 	
  1374 	
  1375 	/**
  1376 	Not used.
  1377 	*/
  1378 	ERawEventFlipTypeNotImplemented=134,
  1379 	
  1380 	
  1381 	/**
  1382 	Not used.
  1383 	*/
  1384 	ENumberOfParametersExceedsMaximum=136,
  1385 	
  1386 	
  1387 	/**
  1388 	This panic is raised internally by the descriptor formatting functions during the handling
  1389 	of the variable parameter lists when the parameter is too big.
  1390 	*/
  1391 	ESizeOfParameterTooBig=137,
  1392 	
  1393 	
  1394 	/**
  1395 	This panic is raised internally by the descriptor formatting functions
  1396 	during the handling of the variable parameter lists when an index value
  1397 	for the parameters is outside its permitted range.
  1398 	*/
  1399 	EParameterIndexOutOfRange1=138,
  1400 	
  1401 	
  1402 	/**
  1403 	This panic is raised internally by the descriptor formatting functions
  1404 	during the handling of the variable parameter lists when an index value
  1405 	for the parameters is outside its permitted range.
  1406 	
  1407 	This panic is raised in debug mode only.
  1408 	*/
  1409 	EParameterIndexOutOfRange2=139,
  1410 	
  1411 	
  1412 	/**
  1413 	This panic is raised internally by the descriptor formatting functions
  1414 	during the handling of the variable parameter lists.
  1415 	*/
  1416 	EFormatDirectiveAlreadySet1=140,
  1417 	
  1418 	
  1419 	/**
  1420 	This panic is raised internally by the descriptor formatting functions
  1421 	during the handling of the variable parameter lists.
  1422 	*/
  1423 	EFormatDirectiveAlreadySet2=141,
  1424 	
  1425 	
  1426 	/**
  1427 	This panic is raised internally by the descriptor formatting functions
  1428 	during the handling of the variable parameter lists.
  1429 	*/
  1430 	ENumberOfFormatDirectivesExceedsMaximum=142,
  1431 	
  1432 	
  1433 	/**
  1434 	This panic is raised internally by the descriptor formatting functions
  1435 	during the handling of the variable parameter lists.
  1436 	*/
  1437 	ENoParametersInFormatDirective=143,
  1438 	
  1439 	
  1440 	/**
  1441 	This panic is raised internally by the descriptor formatting functions
  1442 	during the handling of the variable parameter lists.
  1443 	*/
  1444 	EFormatDirectiveNotYetSet=144,
  1445 	
  1446 	
  1447 	/**
  1448 	This panic is raised internally by the descriptor formatting functions
  1449 	during the handling of the variable parameter lists.
  1450 	*/
  1451 	EBadFormatDirectiveDataPointer=145,
  1452 	
  1453 	
  1454 	/**
  1455 	This panic is raised internally by the descriptor formatting functions
  1456 	during the handling of the variable parameter lists.
  1457 	*/
  1458 	EFormatDirectiveIndexOutOfRange=146,
  1459 	
  1460 	
  1461 	/**
  1462 	This panic is raised internally by the descriptor formatting functions
  1463 	during the handling of the variable parameter lists.
  1464 	*/
  1465 	ENotOnFirstPassOfFormatDescriptor1=147,
  1466 	
  1467 	
  1468 	/**
  1469 	This panic is raised internally by the descriptor formatting functions
  1470 	during the handling of the variable parameter lists.
  1471 	*/
  1472 	ENotOnFirstPassOfFormatDescriptor2=148,
  1473 	
  1474 	
  1475 	/**
  1476 	This panic is raised internally by the descriptor formatting functions
  1477 	during the handling of the variable parameter lists.
  1478 	*/
  1479 	EInconsistentSizeOfParameter=149,
  1480 	
  1481 	
  1482 	/**
  1483 	This panic is raised internally by the descriptor formatting functions
  1484 	during the handling of the variable parameter lists.
  1485 	*/
  1486 	ENullTargetPointer=150,
  1487 	
  1488 	
  1489 	/**
  1490 	This panic is raised internally by the descriptor formatting functions
  1491 	during the handling of the variable parameter lists.
  1492 	*/
  1493 	ENegativeSizeOfParameter=151,
  1494 	
  1495 	
  1496 	/**
  1497 	This panic is raised internally by the descriptor formatting functions
  1498 	during the handling of the variable parameter lists.
  1499 	*/
  1500 	EErrorOnSecondPassOfFormatDescriptor=152,
  1501 	
  1502 	
  1503 	/**
  1504 	This panic is raised internally by the descriptor formatting functions
  1505 	during the handling of the variable parameter lists.
  1506 	*/
  1507 	EUnexpectedError1=153,
  1508 	
  1509 	
  1510 	/**
  1511 	This panic is raised internally by the descriptor formatting functions
  1512 	during the handling of the variable parameter lists.
  1513 	*/
  1514 	EUnexpectedError2=154,
  1515 	
  1516 	
  1517 	/**
  1518 	Not used.
  1519 	*/
  1520 	ECreateTransferBufferSizeNotPositive=155,
  1521 	
  1522 	
  1523 	/**
  1524 	This panic occurs in the construction of an RPointerArray object from
  1525 	an existing pointer array object, when the number defining the number
  1526 	of entries in the existing array is not positive.
  1527 	
  1528 	@see RPointerArray
  1529 	*/
  1530 	EBadArrayCount=156,
  1531 	
  1532 	
  1533 	/**
  1534 	This panic is raised by RChunk::Commit() when the value of the offset of
  1535 	the committed region is negative.
  1536 	
  1537 	@see RChunk
  1538 	*/
  1539 	EChkCommitOffsetNegative=157,
  1540 	
  1541 	
  1542 	/**
  1543 	This panic is raised by RChunk::Commit() when the size of the
  1544 	the committed region is negative.
  1545 	
  1546 	@see RChunk
  1547 	*/
  1548 	EChkCommitSizeNegative=158,
  1549 	
  1550 	
  1551 	/**
  1552 	This panic is raised by RChunk::Allocate() when the size of the
  1553 	the committed region is negative.
  1554 	
  1555 	@see RChunk
  1556 	*/
  1557 	EChkAllocateSizeNegative=159,
  1558 	
  1559 	
  1560 	/**
  1561 	This panic is raised by RChunk::Decommit() when the value of the offset of
  1562 	the committed region is negative.
  1563 	
  1564 	@see RChunk
  1565 	*/
  1566 	EChkDecommitOffsetNegative=160,
  1567 	
  1568 	
  1569 	/**
  1570 	This panic is raised by RChunk::Decommit() when the size of the
  1571 	the committed region is negative.
  1572 	
  1573 	@see RChunk
  1574 	*/
  1575 	EChkDecommitSizeNegative=161,
  1576 	
  1577 	
  1578 	/**
  1579 	This panic is raised when an invalid chunk type has been passed to
  1580 	the internal member RChunk::Create()
  1581 	
  1582 	@see RChunk
  1583 	*/
  1584 	EChkCreateInvalidType=162,
  1585 	
  1586 	
  1587 	/**
  1588 	This panic is raised when a global chunk is being created and
  1589 	no name has been specified.
  1590 	
  1591 	@see RChunk
  1592 	*/
  1593 	EChkCreateInvalidName=163,
  1594 	
  1595 	
  1596 	/**
  1597 	This panic is raised when creating a 'normal' chunk and the offset of the bottom of the new committed region 
  1598     from the base of the chunk's reserved region is not zero.
  1599 
  1600     @see RChunk
  1601 	*/
  1602 	EChkCreateInvalidBottom=164,
  1603 	
  1604 	
  1605 	/**
  1606 	This panic is raised by the internal function RLibrary::Init() when the function that 
  1607 	constructs static data following a DLL load, leaves.
  1608 	*/
  1609 	EDllStaticConstructorLeave=165,
  1610 	
  1611 	
  1612 	/**
  1613 	This panic is raised internally, if a call to the static data destructors
  1614 	following a library handle close, leaves.
  1615 	*/
  1616 	EDllStaticDestructorLeave=166,
  1617 	
  1618 	
  1619 	/**
  1620 	This panic is raised in a call to RAllocator::Close() when the number of
  1621 	handles is greater than	the maximum allowed, RAllocator::EMaxHandles.
  1622 	
  1623 	@see RAllocator
  1624 	*/
  1625 	EAllocatorBadHandleCount=167,
  1626 	
  1627 	
  1628 	/**
  1629 	This panic is raised by the internal RHeap constructor when the offset value is invalid.
  1630 	*/
  1631 	ETHeapNewBadOffset=168,
  1632 	
  1633 	
  1634 	/**
  1635 	This panic is raised by the Symbian internal function RHeap::Reduce() on failure.
  1636 	*/
  1637 	ETHeapReduceFailed=169,
  1638 	
  1639 	
  1640 	/**
  1641 	This panic is raised by the Symbian internal function RHeap::Reset() on failure.
  1642 	*/
  1643 	ETHeapResetFailed=170,
  1644 	
  1645 	
  1646 	/**
  1647     This panic is raised by the Symbian internal function RHeap::WalkCheckCell() on a 
  1648     bad free cell size.
  1649 	*/
  1650 	ETHeapBadFreeCellSize=171,
  1651 	
  1652 	
  1653 	/**
  1654     This panic is raised by the Symbian internal function RHeap::Initialise() on a
  1655     bad alignment value.
  1656 	*/
  1657 	ETHeapNewBadAlignment=172,
  1658 	
  1659 	
  1660 	/**
  1661 	Not used.
  1662 	*/
  1663 	ETHeapBadDebugOp=173,
  1664 	
  1665 	
  1666 	/**
  1667 	This panic is raised when an unimplemented pure virtual function is called.
  1668 	*/
  1669 	EPureVirtualCalled=174,
  1670 	
  1671 	
  1672 	/**
  1673 	This panic is raised when a User::Leave() is called and there
  1674 	is no TRAP frame.
  1675 	*/
  1676 	EUserLeaveWithoutTrap=175,
  1677 	
  1678 	
  1679 	/**
  1680 	This panic is raised when a mathematical function fails with an
  1681 	unrecognized exception, i.e. one that is none of: KErrArgument,
  1682 	KErrDivideByZero, KErrOverflow or KErrUnderflow.
  1683 	*/
  1684 	EMathUnknownError=176,
  1685 	
  1686 	
  1687 	/**
  1688 	This panic is raised by the Symbian internal function RHeap::WalkCheckCell() on a 
  1689     bad cell type.
  1690 	*/
  1691 	ETHeapWalkBadCellType=177,
  1692 	
  1693 	
  1694 	/**
  1695 	This panic is raised when descriptors convert integers into text, and
  1696 	an invalid radix is passed, i.e. a value that is not one 
  1697 	of the TRadix enum values.
  1698 	*/
  1699 	EInvalidRadix=178,
  1700 	
  1701 	
  1702 	/**
  1703 	This panic is raised when converting and appending numbers in descriptors,
  1704 	and buffers are not aligned on even addresses.
  1705 	
  1706     This panic is raised in debug builds only.	
  1707 	*/
  1708 	EDes16PadAppendBadAlign=179,
  1709 	
  1710 	
  1711 	/**
  1712 	Not used.
  1713 	*/
  1714 	EMsgQueueSizeInvalid=180,
  1715 	
  1716 	
  1717     /**
  1718 	@internalComponent
  1719 	*/
  1720 	EHuffmanTooManyCodes=181,
  1721 	
  1722 	
  1723 	/**
  1724 	@internalComponent
  1725 	*/
  1726 	EHuffmanInvalidCoding=182,
  1727 	
  1728 	
  1729 	/**
  1730 	@internalComponent
  1731 	*/
  1732 	EBadArrayFindMode=183,
  1733 	
  1734 	
  1735 	/**
  1736 	In a call to RNotifier::Notify(), the length of one or more of
  1737 	the descriptors containing the displayable text is bigger than
  1738 	the maximum TUint16 value.
  1739 	*/
  1740 	ENotifierTextTooLong=184,
  1741 	
  1742 	
  1743 	/**
  1744 	In a call to one of the functions:
  1745 	TMonthName::Set()
  1746 	TMonthNameAbb::Set()
  1747 	TDayName::Set()
  1748 	TDayNameAbb::Set()
  1749 	
  1750 	the month or day value is outside the permitted range of values.
  1751 
  1752     @see TMonthName
  1753     @see TMonthNameAbb
  1754     @see TDayName
  1755     @see TDayNameAbb
  1756 	*/
  1757 	EBadLocaleParameter=185,
  1758 	
  1759 	
  1760 	/**
  1761 	This panic is raised internally by the descriptor formatting functions
  1762 	during the handling of the variable parameter lists.
  1763 	*/
  1764 	EUnexpectedError3=186,
  1765 	
  1766 	
  1767 	/**
  1768 	In a call to TDes8::Expand(), either the length, or the maximum length,
  1769 	or the pointer to the data is not an even number.
  1770 	
  1771 	@see TDes8
  1772 	*/
  1773 	EDes8ExpandOdd=187,
  1774 	
  1775 	
  1776 	/**
  1777 	In a call to TDes8::Collapse(), either the length, or the maximum length,
  1778 	or the pointer to the data is not an even number.
  1779 	
  1780 	@see TDes8
  1781 	*/
  1782 	EDes8CollapseOdd=188,
  1783 
  1784 
  1785 	/**
  1786 	In a call to one of the TSecurityPolicy constructors, the specified
  1787 	capability was found to be inavlid.
  1788 
  1789 	@see TCapability
  1790 	*/
  1791 	ECapabilityInvalid=189,
  1792 
  1793 
  1794 	/**
  1795 	In a call to TSecurityPolicy::CheckPolicy, the security policy was found to
  1796 	be corrupt.
  1797 
  1798 	@see TSecurityPolicy
  1799 	*/
  1800 	ESecurityPolicyCorrupt=190,
  1801 
  1802 	
  1803 	/**
  1804 	In a call to TSecurityPolicy::TSecurityPolicy(TSecPolicyType aType), aType
  1805 	was not one of ETypePass or ETypeFail.
  1806 
  1807 	@see TSecurityPolicy
  1808 	*/
  1809 	ETSecPolicyTypeInvalid=191,
  1810 
  1811 	/**
  1812 	This panic is raised when constructing an RPointerArray or RArray if the
  1813 	specified minimum growth step is less than or equal to zero or is greater
  1814 	than 65535.
  1815     
  1816     @see RPointerArray
  1817     @see RArray
  1818 	*/
  1819 	EBadArrayMinGrowBy=192,
  1820 	
  1821 	
  1822 	/**
  1823 	This panic is raised when constructing an RPointerArray or RArray if the
  1824 	specified exponential growth factor is less than or equal to 1 or is
  1825 	greater than or equal to 128.
  1826     
  1827     @see RPointerArray
  1828     @see RArray
  1829 	*/
  1830 	EBadArrayFactor=193,
  1831 	
  1832 	
  1833 	/**
  1834 	This panic is raised if code inside an __ASSERT_*_NO_LEAVE harness leaves.
  1835     
  1836     @see RPointerArray
  1837     @see RArray
  1838 	*/
  1839 	EUnexpectedLeave=194,
  1840 	
  1841 	
  1842 	/**
  1843 	A function was used to grow a cell on the heap, but it did not grow as expected.
  1844 	*/		
  1845 	ETHeapCellDidntGrow=195,
  1846 	
  1847 	
  1848 	/**
  1849 	An attempt was made to install a Win32 SE handler not on the stack.
  1850 
  1851 	@see TWin32SEHTrap
  1852 	*/
  1853 	EWin32SEHandlerNotOnStack=196,
  1854 	
  1855 	/**
  1856 	This panic is raised when the caller of an API doesn't have the right capabilities to
  1857 	call the specific API that raises this panic. Please consult the documentation for the
  1858 	API in question to learn what capabilities you need to call it.
  1859 	*/
  1860 	EPlatformSecurityViolation=197,
  1861 
  1862 	/**
  1863 	This panic is raised if a NULL function pointer is passed in as the hash function
  1864 	when constructing a hash table class.
  1865 	*/
  1866 	EHashTableNoHashFunc=198,
  1867 
  1868 	/**
  1869 	This panic is raised if a NULL function pointer is passed in as the identity
  1870 	relation when constructing a hash table class.
  1871 	*/
  1872 	EHashTableNoIdentityRelation=199,
  1873 
  1874 	/**
  1875 	This panic is raised if a negative element size is specified when constructing
  1876 	a hash table class.
  1877 	*/
  1878 	EHashTableBadElementSize=200,
  1879 
  1880 	/**
  1881 	This panic is raised if, when constructing a hash table class, the specified
  1882 	key offset is inconsistent with the specified element size.
  1883 	*/
  1884 	EHashTableBadKeyOffset=201,
  1885 
  1886 	/**
  1887 	This panic is raised in debug builds only if a deleted entry still remains after
  1888 	a hash table reform. It should never occur, since it signifies an error in the
  1889 	hash table implementation.
  1890 	*/
  1891 	EHashTableDeletedEntryAfterReform=202,
  1892 
  1893 	/**
  1894 	This panic should never occur since it signifies an error in the hash table
  1895 	implementation.
  1896 	*/
  1897 	EHashTableBadGeneration=203,
  1898 
  1899 	/**
  1900 	This panic should never occur since it signifies an error in the hash table
  1901 	implementation.
  1902 	*/
  1903 	EHashTableBadHash=204,
  1904 
  1905 	/**
  1906 	This panic should never occur since it signifies an error in the hash table
  1907 	implementation.
  1908 	*/
  1909 	EHashTableEntryLost=205,
  1910 
  1911 	/**
  1912 	This panic should never occur since it signifies an error in the hash table
  1913 	implementation.
  1914 	*/
  1915 	EHashTableCountWrong=206,
  1916 
  1917 	/**
  1918 	This panic should never occur since it signifies an error in the hash table
  1919 	implementation.
  1920 	*/
  1921 	EHashTableEmptyCountWrong=207,
  1922 
  1923 	/**
  1924 	This panic is raised if, while attempting to step a hash table iterator to
  1925 	the next entry, the iterator is found to point to an invalid table entry.
  1926 	This will typically occur if elements have been removed from the hash table
  1927 	without resetting the iterator.
  1928 	*/
  1929 	EHashTableIterNextBadIndex=208,
  1930 
  1931 	/**
  1932 	This panic is raised if, while interrogating the current position of a
  1933 	hash table iterator, the iterator is found to point to an invalid table entry.
  1934 	This will typically occur if elements have been added to or removed from
  1935 	the hash table without resetting the iterator.
  1936 	*/
  1937 	EHashTableIterCurrentBadIndex=209,
  1938 
  1939 	/**
  1940 	This panic is raised if an invalid argument is passed to the Reserve() function
  1941 	on any of the hash table classes.
  1942 	*/
  1943 	EHashTableBadReserveCount=210,
  1944 
  1945 	/**
  1946 	The Win32 SE handler chain has been corrupted.
  1947 
  1948 	@see TWin32SEHTrap
  1949 	*/
  1950 	EWin32SEHChainCorrupt=211,
  1951 
  1952 	
  1953 	/**
  1954 	This panic is raised if an invalid argument is passed to the Reserve() function
  1955 	on the RArray<T> or RPointerArray<T> classes.
  1956 	*/
  1957 	EArrayBadReserveCount=212,
  1958 
  1959 	/**
  1960 	This panic is raised when attempting to set a new debug failure mode on 
  1961 	a heap with an invalid argument.  For example, if aBurst > KMaxTUint6
  1962 	when invoking __UHEAP_BURSTFAILNEXT when a RHeap object is used for
  1963 	the user heap.
  1964 
  1965 	On the user side this is associated with the USER category; on the kernel side
  1966 	this is associated with the KERN-HEAP category.
  1967 
  1968 	@see RAllocator::TAllocFail
  1969 	*/
  1970 	ETHeapBadDebugFailParameter = 213,
  1971 	
  1972 	
  1973 	/**
  1974 	This panic is raised when an invalid chunk attribute has been passed to
  1975 	the method RChunk::Create().
  1976 	
  1977 	@see RChunk
  1978 	*/
  1979 	EChkCreateInvalidAttribute = 214,
  1980 
  1981 	
  1982 	/**
  1983 	This panic is raised when a TChunkCreateInfo object with an invalid version 
  1984 	number has been passed to the method RChunk::Create().
  1985 
  1986 	@see RChunk
  1987 	@see TChunkCreateInfo
  1988 	*/
  1989 	EChkCreateInvalidVersion = 215,
  1990 	};
  1991 
  1992 
  1993 
  1994 
  1995 /**
  1996 Defines a set of panic numbers associated with the E32USER-CBASE panic category.
  1997 
  1998 Panics with this category are raised in user side code by member functions of
  1999 CBase derived classes that reside in euser.dll. Typically, they are caused by
  2000 passing bad or contradictory values to class constructors or member functions.
  2001 */
  2002 enum TBasePanic
  2003     {
  2004     
  2005     /**
  2006     This panic is raised by the Set() member function of CAsyncCallBack,
  2007     if this active object is already active when the function is called.
  2008     
  2009     @see CAsyncCallBack
  2010     */
  2011 	ECAsyncCBIsActive=1,
  2012 	
  2013 	
  2014 	/**
  2015 	This panic is raised by the Call() member function of CAsyncOneShot,
  2016 	if the active object has not already been added to the active scheduler.
  2017 	
  2018 	This panic is raised in debug builds only.
  2019 	
  2020 	@see CAsyncOneShot
  2021 	*/
  2022 	ECAsyncOneShotNotAdded=2,
  2023 	
  2024 	
  2025 	/**
  2026 	This panic is raised during construction of a dynamic buffer,
  2027 	a CBufFlat or a CBufSeg object, when the value of the granularity passed
  2028 	to the constructors is negative.
  2029 	
  2030 	@see CBufFlat
  2031 	@see CBufSeg
  2032 	*/
  2033 	EBufExpandSizeNegative=3,
  2034 	
  2035 	
  2036 	/**
  2037 	This panic is raised when reading from a dynamic buffer,
  2038 	a CBufFlat or a CBufSeg, using the Read() member function.
  2039 	
  2040 	It is caused by attempting to read beyond the end of the buffer.
  2041 
  2042 	@see CBufFlat
  2043 	@see CBufSeg
  2044 	*/
  2045 	EBufReadBeyondEnd=4,
  2046 	
  2047 	
  2048 	/**
  2049 	This panic is raised when writing to a dynamic buffer,
  2050 	a CBufFlat or a CBufSeg, using the Write() member function.
  2051 	
  2052 	It is caused by attempting to write beyond the end of the buffer.
  2053 
  2054 	@see CBufFlat
  2055 	@see CBufSeg
  2056 	*/
  2057 	EBufWriteBeyondEnd=5,
  2058 	
  2059 	
  2060 	/** 
  2061 	This panic is raised when reading from a dynamic buffer,
  2062 	a CBufFlat or a CBufSeg, using the Read() member function.
  2063 	
  2064 	It is caused by specifying a negative length for the amount of data
  2065 	to be read.
  2066 
  2067 	@see CBufFlat
  2068 	@see CBufSeg
  2069 	*/
  2070 	EBufReadLengthNegative=6,
  2071 	
  2072 	
  2073 	/**
  2074 	This panic is raised when writing to a dynamic buffer,
  2075 	a CBufFlat or a CBufSeg, using the Write() member function.
  2076 	
  2077 	It is caused by specifying a negative length for the amount of data
  2078 	to be written.
  2079 
  2080 	@see CBufFlat
  2081 	@see CBufSeg
  2082 	*/
  2083 	EBufWriteLengthNegative=7,
  2084 
  2085 
  2086     /**
  2087     This panic is raised when inserting data into a dynamic buffer,
  2088     a CBufFlat or a CBufSeg, using the InsertL() member function or when
  2089     inserting an uninitialized region into the dynamic buffer using
  2090     the ExpandL() member function.
  2091     
  2092     It is caused by passing a negative length value to these functions.
  2093 
  2094 	@see CBufFlat
  2095 	@see CBufSeg
  2096     */
  2097 	EBufInsertLengthNegative=8,
  2098 	
  2099 	
  2100 	/**
  2101 	This panic is raised when inserting data into a dynamic buffer,
  2102 	a CBufFlat or a CBufSeg, using the InsertL() member function.
  2103 	
  2104 	It is caused when the variant of InsertL(), which takes a pointer to TAny
  2105 	is passed a NULL pointer value.
  2106 
  2107 	@see CBufFlat
  2108 	@see CBufSeg
  2109 	*/
  2110 	EBufInsertBadPtr=9,
  2111 	
  2112 	
  2113 	/**
  2114 	This panic is raised when specifying the minimum amount of space
  2115 	that a flat dynamic buffer, a CBufFlat, should occupy using
  2116 	the SetReserveL() member function.
  2117 	
  2118 	It is caused when the size value passed to the function is negative.
  2119 
  2120 	@see CBufFlat
  2121 	*/
  2122 	EBufFlatReserveNegative=10,
  2123 
  2124 
  2125 	/**
  2126 	This panic is raised when specifying the minimum amount of space
  2127 	that a flat dynamic buffer, a CBufFlat, should occupy using
  2128 	the SetReserveL() member function.
  2129 	
  2130 	It is caused when the size value passed to the function is less than
  2131 	the current size of the buffer.
  2132 
  2133 	@see CBufFlat
  2134 	*/
  2135 	EBufFlatReserveSetTooSmall=11,
  2136 	
  2137 	
  2138 	/**
  2139 	This panic is raised by the Delete(), Ptr(), BackPtr() member functions
  2140 	of a flat dynamic buffer, a CBufFlat; the panic can also be raised by
  2141 	InsertL() and ExpandL().
  2142 	
  2143 	It is caused when the position value passed to these functions is either
  2144 	negative or represents a position beyond the end of the current buffer.
  2145 	
  2146 	@see CBufFlat
  2147 	*/
  2148 	EBufFlatPosOutOfRange=12,
  2149 	
  2150 	
  2151 	/**
  2152 	This panic is raised by the Delete() member function of
  2153 	a flat dynamic buffer, a CBufFlat.
  2154 	
  2155 	It is caused when the combination of position and length values passed
  2156 	to the function implies an attempt to delete data beyond the end of
  2157 	the flat buffer.
  2158 
  2159    	@see CBufFlat
  2160 	*/
  2161 	EBufFlatDeleteBeyondEnd=13,
  2162 	
  2163 	
  2164 	/**
  2165 	This panic is raised by the Delete(), Ptr(), BackPtr() member functions
  2166 	of a segmented dynamic buffer, a CBufSeg); the panic can also be raised
  2167 	by InsertL() and ExpandL().
  2168 	
  2169 	It is caused when the position value passed to these functions is either
  2170 	negative or represents a position beyond the end of the current buffer.
  2171 
  2172    	@see CBufSeg
  2173 	*/
  2174 	EBufSegPosOutOfRange=14,
  2175 	
  2176 	
  2177 	/**
  2178 	This panic is raised by the Delete() member function of a segmented dynamic
  2179 	buffer, a CBufSeg.
  2180 	
  2181 	It is caused when the combination of position and length values passed to
  2182 	the function implies an attempt to delete data beyond the end of
  2183 	the segmented buffer.
  2184 
  2185    	@see CBufSeg
  2186 	*/
  2187 	EBufSegDeleteBeyondEnd=15,
  2188 	
  2189 	
  2190 	/**
  2191 	This panic is raised by the InsertL(), Delete(), Ptr() and BackPtr() member
  2192 	functions as implemented for segmented buffers, CBufSeg, when
  2193 	the offset within a segment, where data is to be inserted or removed,
  2194 	is greater than the buffer granularity.
  2195 
  2196     This panic is raised in debug builds only.
  2197     
  2198   	@see CBufSeg
  2199 	*/
  2200 	EBufSegSetSBO=16,
  2201 	
  2202 	
  2203 	/**
  2204 	This panic is raised by the constructors of arrays of fixed length objects
  2205 	as represented, for example, by the classes CArrayFixFlat, CArrayFixSeg,
  2206 	and CArrayFixFlat<TAny>.
  2207 	
  2208 	It is caused when the record length is either negative or zero. The record
  2209 	length is either explicitly specified, as in the case of
  2210 	the CArrayFixFlat<TAny> class, or is implied by the length of the template
  2211 	class as in the case of the CArrayFixFlat class.
  2212 	
  2213 	@see CArrayFixFlat
  2214 	@see CArrayFixSeg
  2215 	*/
  2216 	EArrayFixInvalidLength=17,
  2217 	
  2218 	
  2219 	/**
  2220 	This panic is raised by the constructors of arrays of fixed length objects
  2221 	as represented, for example, by the classes: CArrayFixFlat and CArrayFixSeg.
  2222 	
  2223 	It is caused when the granularity passed to the constructors is
  2224 	either negative or zero.
  2225 
  2226 	@see CArrayFixFlat
  2227 	@see CArrayFixSeg
  2228 	*/
  2229 	EArrayFixInvalidGranularity=18,
  2230 	
  2231 	
  2232 	/**
  2233 	This panic is raised by the constructors of arrays of variable length
  2234 	objects as represented, for example, by the classes: CArrayVarFlat
  2235 	and CArrayVarSeg.
  2236 	
  2237 	It is caused when the granularity passed to the constructors is either
  2238 	negative or zero.
  2239 
  2240 	@see CArrayFixFlat
  2241 	@see CArrayFixSeg
  2242 	*/
  2243 	EArrayVarInvalidGranularity=19,
  2244 	
  2245 	
  2246 	/**
  2247 	This panic is raised by the constructors of packed arrays as represented,
  2248 	for example, by the class CArrayPakFlat.
  2249 	
  2250 	It is caused when the granularity passed to the constructors is either
  2251 	negative or zero.
  2252 
  2253 	@see CArrayPakFlat
  2254 	*/
  2255 	EArrayPakInvalidGranularity=20,
  2256 	
  2257 	
  2258 	/**
  2259 	This panic is raised by any operation which accesses an element of an array
  2260 	by explicit reference to an index number, for example, the Delete(),
  2261 	InsertL() and At() member functions or the operator Operator[].
  2262 	
  2263 	It is caused by specifying an index value which is either negative,
  2264 	or is greater than or equal to the number of objects currently within the array.
  2265 	*/
  2266 	EArrayIndexOutOfRange=21,
  2267 	
  2268 	
  2269 	/**
  2270 	This panic is raised when deleting contiguous elements from an array of
  2271 	fixed length objects (derived from CArrayFixBase) using the Delete()
  2272 	member function.
  2273 	
  2274 	It is caused by specifying the number of contiguous elements as
  2275 	a zero or negative value.
  2276 	*/
  2277 	EArrayCountNegative=22,
  2278 	
  2279 	
  2280 	/**
  2281 	This panic is raised when inserting contiguous elements into an array
  2282 	of fixed length objects (derived from CArrayFixBase) using the
  2283 	InsertL() member function.
  2284 	
  2285 	It is caused by specifying the number of contiguous elements as
  2286 	a zero or negative value.
  2287 	*/
  2288 	EArrayCountNegative2=23,
  2289 	
  2290 	
  2291 	/**
  2292 	This panic is raised when resizing an array of fixed length objects
  2293 	(derived from CArrayFixBase) using the ResizeL() member function.
  2294 	
  2295 	It is caused by specifying the number of contiguous elements as a zero
  2296 	or negative value.
  2297 	*/
  2298 	EArrayCountNegative3=24,
  2299 	
  2300 	
  2301 	/**
  2302 	This panic is raised when deleting contiguous elements from an array of
  2303 	variable length objects (derived from CArrayVarBase) using the Delete()
  2304 	member function.
  2305 	
  2306 	It is caused by specifying the number of contiguous elements as a zero
  2307 	or negative value.
  2308 	*/
  2309 	EArrayCountNegative4=25,
  2310 	
  2311 	
  2312 	/**
  2313 	This panic is raised when deleting contiguous elements from
  2314 	a packed array (derived from CArrayPakBase) using the Delete()
  2315 	member function.
  2316 	
  2317 	It is caused by specifying the number of contiguous elements as
  2318 	a zero or negative value.
  2319 	*/
  2320 	EArrayCountNegative5=26,
  2321 	
  2322 	
  2323 	/**
  2324 	This panic is raised when reserving space in flat arrays of
  2325 	fixed length objects, the CArrayFixFlat,CArrayFixFlat<TAny>
  2326 	and CArrayPtrFlat classes, using the SetReserveL() member function.
  2327 	
  2328 	It is caused by specifying the number of elements, for which space is to be
  2329 	reserved, as less than the current number of elements in the array.
  2330 	*/
  2331     EArrayReserveTooSmall=27,
  2332     
  2333     
  2334 	/**
  2335 	This panic is raised when inserting or appending replicated 
  2336 	elements to the arrays of fixed length objects CArrayFixFlat and
  2337 	CArrayFixSeg using the InsertL() or AppendL() functions.
  2338 	
  2339 	It is caused by specifying the number of replicas as negative or zero.
  2340     */
  2341 	EArrayReplicasNegative=28,
  2342 	
  2343 	
  2344 	/**
  2345 	This panic is raised when deleting elements from a fixed length, variable
  2346 	length or packed array (derived from CArrayFixBase, CArrayVarBase
  2347 	and CArrayPakBase) using the Delete() function.
  2348 	
  2349 	It is caused when the specification of the position of the first element
  2350 	to be deleted and the number of contiguous elements to be deleted refers
  2351 	to elements which are outside the bounds of the array.
  2352 	*/
  2353 	EArrayCountTooBig=29,
  2354 	
  2355 	
  2356 	/**
  2357 	This panic is raised when inserting into, appending onto, expanding or
  2358 	extending a variable length array or a packed array (i.e. arrays derived
  2359 	from CArrayVar or CArrayPak) using the InsertL(), AppendL(), ExpandL()
  2360 	or ExtendL() functions respectively.
  2361 	
  2362 	It is caused by specifying the length of the element as a negative value.
  2363 	*/
  2364 	EArrayLengthNegative=30,
  2365 
  2366 
  2367 	/**
  2368 	Not used.
  2369 	*/
  2370 	EArrayReaderCountVirtual=31,
  2371 	
  2372 	
  2373 	/**
  2374 	Not used.
  2375 	*/
  2376 	EArrayReaderAtVirtual=32,
  2377 	
  2378 	
  2379 	/**
  2380 	This panic is raised by the destructor of a CObject.
  2381 	
  2382 	It is caused when an attempt is made to delete the CObject
  2383 	when the reference count is not zero.
  2384 
  2385     @see CObject
  2386 	*/
  2387 	EObjObjectStillReferenced=33,
  2388 
  2389 
  2390 	/**
  2391 	This panic is raised by the Close() member function of a CObject.
  2392 	
  2393 	It is caused when the reference count is negative.
  2394 	*/
  2395 	EObjNegativeAccessCount=34,
  2396 
  2397 
  2398 	/**
  2399 	This panic is raised by the Remove() member function of an object
  2400 	container, a CObjectCon.
  2401 	
  2402 	It is caused when the CObject to be removed from the container is
  2403 	not contained by the container.
  2404 	
  2405     @see CObject
  2406 	*/
  2407 	EObjRemoveObjectNotFound=35,
  2408 	
  2409 	
  2410 	/**
  2411 	This panic is raised by the Remove() member function of a container
  2412 	index, a CObjectConIx.
  2413 	
  2414 	It is caused when the object container, a CObjectCon, to be removed from
  2415 	the index is not contained by the index.
  2416 	*/
  2417 	EObjRemoveContainerNotFound=36,
  2418 	
  2419 	
  2420 	/**
  2421 	This panic is raised by the Remove() member function of an object index,
  2422 	a CObjectIx.
  2423 	
  2424 	It is caused when the handle passed to the Remove() function does not
  2425 	represent a CObject known to the object index.
  2426 	*/
  2427 	EObjRemoveBadHandle=37,
  2428 	
  2429 	
  2430 	/**
  2431 	This panic is raised by the At(), FindByName() and FindByFullName() member
  2432 	functions of an object container, a CObjectCon.
  2433 	
  2434 	It is caused when the unique ID as derived from the handle is not the same 
  2435 	as the unique ID held by the object container.
  2436 	*/
  2437 	EObjFindBadHandle=38,
  2438 	
  2439 	
  2440 	/**
  2441 	This panic is raised by the At() member function of an object container,
  2442 	a CObjectCon.
  2443 	
  2444 	It is caused when the index represented by the handle is outside
  2445 	the permitted range. In effect, the handle is bad.
  2446 	*/
  2447 	EObjFindIndexOutOfRange=39,
  2448 
  2449 
  2450 	/**
  2451 	This panic is raised by the destructor of an active object, a CActive.
  2452 	
  2453 	It is caused by an attempt to delete the active object while it still
  2454 	has a request outstanding.
  2455 	*/
  2456 	EReqStillActiveOnDestruct=40,
  2457 
  2458 
  2459 	/**
  2460 	This panic is raised by the Add() member function of an active scheduler,
  2461 	a CActiveScheduler.
  2462 	
  2463 	It is caused by an attempt to add an active object to the active scheduler
  2464 	when it has already been added to the active scheduler
  2465 	*/
  2466 	EReqAlreadyAdded=41,
  2467 	
  2468 	
  2469 	/**
  2470 	This panic is raised by the SetActive() member function of an active
  2471 	object, a CActive.
  2472 	
  2473 	It is caused by an attempt to flag the active object
  2474 	as active when it is already active, i.e. a request is still outstanding.
  2475 	*/
  2476 	EReqAlreadyActive=42,
  2477 	
  2478 	
  2479 	/**
  2480 	This panic is raised by the Install() member function of an active
  2481 	scheduler, a CActiveScheduler.
  2482 	
  2483 	It is caused by attempting to install this active scheduler as the current
  2484 	active scheduler when there is already a current active scheduler;
  2485 	i.e. an active scheduler has already been installed.
  2486 	*/
  2487 	EReqManagerAlreadyExists=43,
  2488 
  2489 
  2490 	/**
  2491 	This panic is raised by the Start(), Stop() and Add() member functions
  2492 	of an active scheduler, a CActiveScheduler.
  2493 	
  2494 	It is caused by attempting to start or stop an active scheduler or by
  2495 	attempting to add an active object, a CActive, to the active scheduler.
  2496 	*/
  2497 	EReqManagerDoesNotExist=44,
  2498 
  2499 
  2500 	/**
  2501 	This panic is raised by the Stop() member function of an active scheduler,
  2502 	a CActiveScheduler.
  2503 
  2504 	Calling Stop() terminates the wait loop started by the most recent
  2505 	call to Start(). The panic is caused by a call to Stop() which is not
  2506 	matched by a corresponding call to Start().
  2507 	*/
  2508 	EReqTooManyStops=45,
  2509 
  2510 
  2511 	/**
  2512 	This panic is raised by an active scheduler, a CActiveScheduler.
  2513 	
  2514 	It is caused by a stray signal.
  2515 	*/
  2516 	EReqStrayEvent=46,
  2517 	
  2518 	
  2519 	/**
  2520 	This panic is raised by the Error() virtual member function of an active
  2521 	scheduler, a CActiveScheduler.
  2522 	
  2523 	This function is called when an active object’s RunL() function leaves.
  2524 	Applications always replace the Error() function in a class derived from
  2525 	CActiveScheduler; the default behaviour provided by CActiveScheduler raises
  2526 	this panic.
  2527 	*/
  2528 	EReqActiveObjectLeave=47,
  2529 	
  2530 	
  2531 	/**
  2532 	This panic is raised by the Add() member function of an active scheduler,
  2533 	a CActiveScheduler, when a NULL pointer is passed to the function.
  2534 	*/
  2535 	EReqNull=48,
  2536 
  2537 
  2538 	/**
  2539 	This panic is raised by the SetActive() and Deque() member functions of
  2540 	an active object, a CActive.
  2541 	
  2542 	It is raised if the active object has not been added to the active scheduler.
  2543 	*/
  2544 	EActiveNotAdded=49,
  2545 
  2546 
  2547 	/**
  2548 	This panic is raised by the SetPriority() member function of an active
  2549 	object, a CActive.
  2550 	
  2551 	It is caused by an attempt to change the priority of the active object 
  2552 	while it is active, i.e. while a request is outstanding).
  2553 	*/
  2554 	ESetPriorityActive=50,
  2555 
  2556 
  2557 	/**
  2558 	This panic is raised by the At(), After() and Lock() member functions of
  2559 	the CTimer active object.
  2560 	
  2561 	It is caused by an attempt to request a timer event when the CTimer active
  2562 	object has not been added to the active scheduler.
  2563 	*/
  2564 	ETimNotAdded=51,
  2565 
  2566 
  2567 	/**
  2568 	This panic is raised by the Start() member function of the periodic timer
  2569     active object, a CPeriodic, when a negative time interval is passed to
  2570     the function.
  2571 	*/
  2572 	ETimIntervalNegativeOrZero=52,
  2573 	
  2574 	
  2575 	/**
  2576 	This panic is raised by the Start() member function of the periodic 
  2577 	timer active object, a CPeriodic, when a negative delay time interval
  2578 	is passed to the function.
  2579 	*/
  2580 	ETimDelayNegative=53,
  2581 	
  2582 	
  2583 	/**
  2584 	Not used.
  2585 	*/
  2586 	EUnusedBasePanic1=54,  // Unused
  2587 
  2588 
  2589 	/**
  2590 	Not used.
  2591 	*/
  2592 	ESvrNoServerName=55,
  2593 	
  2594 	
  2595 	/**
  2596 	This panic is raised by the New() and NewL() member functions of
  2597 	CBitMapAllocator when a negative or zero size is passed to them.
  2598 	*/
  2599 	EBmaSizeLessOrEqualToZero=56,
  2600 	
  2601 	
  2602 	/**
  2603 	This panic is raised by the Free(TInt aPos) member function of
  2604 	CBitMapAllocator when a position value is passed which is out of bounds.
  2605 	*/
  2606 	EBmaFreeOutOfRange=57,
  2607 
  2608 
  2609 	/**
  2610 	This panic is raised by the IsFree(TInt aPos) member function of
  2611 	CBitMapAllocator when a position value is passed which is out of bounds.
  2612 	*/
  2613 	EBmaAllocOutOfRange=58,
  2614 	
  2615 	
  2616 	/**
  2617 	This panic is raised by the AllocFromTopFrom(TInt aPos) member function 
  2618 	of CBitMapAllocator when a position value is passed which is out of bounds.
  2619 	*/
  2620 	EBmaAllocFromTopFromOutOfRange=59,
  2621 
  2622 
  2623 	/**
  2624 	Not used.
  2625 	*/
  2626 	EBmaFreeTooMany=60,
  2627 	
  2628 	
  2629 	/**
  2630 	Not used.
  2631 	*/
  2632 	EBmaFreeNotAllocated=61,
  2633 	
  2634 	
  2635 	/**
  2636 	This panic is raised by the AllocAt() member function of CBitMapAllocator
  2637 	when the implied position has already been allocated.
  2638 	*/
  2639 	EBmaAllocAtAlreadyAllocated=62,
  2640 	
  2641 	
  2642 	/**
  2643 	This panic is raised as a result of a call to the Pop() and PopAndDestroy()
  2644 	static member functions of the CleanupStack class.
  2645 	
  2646 	The panic occurs when TRAPs have been nested and an attempt is made to pop too
  2647 	many items from the cleanup stack for the current nest level.
  2648 	*/
  2649 	EClnPopAcrossLevels=63,
  2650 
  2651 
  2652 	/**
  2653 	This panic is raised as a result of a call to the Pop() and PopAndDestroy()
  2654 	static member functions of the CleanupStack class.
  2655 	
  2656 	The panic occurs when attempt is made to pop more items from the cleanup
  2657 	stack than are on the cleanup stack.
  2658 	*/
  2659 	EClnPopUnderflow=64,
  2660 	
  2661 	
  2662 	/**
  2663 	The panic is raised as a result of a call to the Pop() and PopAndDestroy()
  2664 	static member functions of the CleanupStack class.
  2665 	
  2666 	The panic occurs when an attempt is made to pop more items from the cleanup
  2667 	stack than are on the cleanup stack.
  2668 	*/
  2669 	EClnLevelUnderflow=65,
  2670 
  2671 
  2672 	/**
  2673 	This panic is raised if an attempt is being made to insert a cleanup item
  2674 	into a position on the cleanup stack reserved for marking the current TRAP
  2675 	nest level.
  2676 	
  2677 	In practice this error occurs if the call to CleanupStack::PushL() happens
  2678 	when there has been no call to TRAP().
  2679 	*/
  2680 	EClnPushAtLevelZero=66,
  2681 	
  2682 	
  2683 	/**
  2684 	This panic is raised when building a TCleanupStackItem which is to be added
  2685 	to the cleanup stack.
  2686 	
  2687 	The building of the TCleanupStackItem needs a TCleanupItem and this has
  2688 	been constructed with a NULL cleanup operation (a TCleanupOperation).
  2689 	*/
  2690 	EClnNoCleanupOperation=67,
  2691 
  2692 
  2693 	/**
  2694 	This panic is raised if there are no free slots available on the cleanup
  2695 	stack to insert a cleanup item.
  2696 	*/
  2697 	EClnNoFreeSlotItem=68,
  2698 	
  2699 	
  2700 	/**
  2701 	This panic is raised if no trap handler has been installed.
  2702 	
  2703 	In practice, this occurs if CTrapCleanup::New() has not been called
  2704 	before using the cleanup stack.
  2705 	*/
  2706 	EClnNoTrapHandlerInstalled=69,
  2707 	
  2708 	
  2709 	/**
  2710 	This panic is raised as a result of a call to the versions of the
  2711 	Pop() and PopAndDestroy() static member functions of the CleanupStack class
  2712 	which take an explicit count of the items to be popped.
  2713 	
  2714 	The panic is caused by passing a negative value for the number of items
  2715 	to be popped.
  2716 	*/
  2717 	EClnPopCountNegative=70,
  2718 	
  2719 	
  2720 	/**
  2721 	This panic is raised when TRAPs have been nested and an attempt is made to
  2722 	exit from a TRAP nest level before all the cleanup items belonging to that
  2723 	level have been popped off the cleanup stack.
  2724 	*/
  2725 	EClnLevelNotEmpty=71,
  2726 
  2727 
  2728 	/**
  2729 	This panic is raised by the constructor of the circular buffer base class,
  2730 	a CCirBufBase, when the size value passed is zero or negative.
  2731 	*/
  2732 	ECircItemSizeNegativeOrZero=72,
  2733 
  2734 
  2735 	/**
  2736 	This panic is raised by a call to the SetLengthL() member function of 
  2737 	the circular buffer base class, a CCirBufBase, by passing a length
  2738 	value which is zero or negative.
  2739 	*/
  2740 	ECircSetLengthNegativeOrZero=73,
  2741 	
  2742 	
  2743 	/**
  2744 	This panic is raised by a call to the Add() member function of a 
  2745 	circular buffer, a CCirBuf when the pointer to the item
  2746 	to be added is NULL.
  2747 	*/
  2748 	ECircNoBufferAllocated=74,
  2749 	
  2750 	
  2751 	/**
  2752 	This panic is raised by a call to the Add() member function of a
  2753 	circular buffer, a CCirBuf when the number of items to be added
  2754 	is zero or negative.
  2755 	*/
  2756 	ECircAddCountNegative=75,
  2757 
  2758 
  2759 	/**
  2760 	This panic is raised by a call to the Remove() member function of
  2761 	a circular buffer, a CCirBuf when the number of items to be removed is zero
  2762 	or negative.
  2763 	*/
  2764 	ECircRemoveCountNegative=76,
  2765 
  2766 
  2767 	/**
  2768 	This panic is raise by CConsoleBase::Getch() when the asynchronous request
  2769 	that fetches the character completes with a completion code that
  2770 	is not KErrNone.
  2771 	*/
  2772 	EConsGetchFailed=77,
  2773 	
  2774 	
  2775 	/**
  2776 	Not used.
  2777 	*/
  2778 	ESecurityData=78,
  2779 	
  2780 	
  2781 	/**
  2782 	This panic is raised by the Alloc() member function 
  2783 	of CBitMapAllocator if the object is in an inconsistnt state.
  2784 	*/
  2785 	EBmaInconsistentState=79,
  2786 
  2787 
  2788 	/**
  2789 	This panic is raised by the AllocFrom() member function 
  2790 	of CBitMapAllocator if the position passed into it is outside its valid
  2791 	range, i.e. is negative or is greater than or equal to the size.
  2792 	*/
  2793 	EBmaAllocFromOutOfRange=80,
  2794 
  2795 
  2796 	/**
  2797 	This panic is raised by the Alloc() member function 
  2798 	of CBitMapAllocator if the count value passed into it
  2799 	is not positive.
  2800 	*/
  2801 	EBmaAllocCountNegative=81,
  2802 	
  2803 	
  2804 	/**
  2805 	This panic is raised by the AllocAligned() member function 
  2806 	of CBitMapAllocator if the alignment value passed into it
  2807 	is negative or greater than or equal to 32.
  2808 	*/
  2809 	EBmaAllAlgnOutOfRange=82,
  2810 
  2811 
  2812 	/**
  2813 	This panic is raised by the AllocAlignedBlock() member function 
  2814 	of CBitMapAllocator if the alignment value passed into it
  2815 	is negative or greater than or equal to 32.
  2816 	*/
  2817 	EBmaAllAlgnBOutOfRange=83,
  2818 	
  2819 	
  2820 	/**
  2821 	This panic is raised by the AllocAt() member function 
  2822 	of CBitMapAllocator if the position value passed into it
  2823 	is outside the permitted range.
  2824 	*/
  2825 	EBmaAllocBlkOutOfRange=84,
  2826 
  2827 
  2828 	/**
  2829 	This panic is raised by the IsFree() member function 
  2830 	of CBitMapAllocator if the position value passed into it
  2831 	is outside the permitted range.
  2832 	*/
  2833 	EBmaChkBlkOutOfRange=85,
  2834 
  2835 
  2836 	/**
  2837 	This panic is raised by the Free() member function 
  2838 	of CBitMapAllocator if the position value passed into it
  2839 	is outside the permitted range.
  2840 	*/
  2841 	EBmaFreeBlkOutOfRange=86,
  2842 
  2843 
  2844 	/**
  2845 	This panic is raised by the Free() member function 
  2846 	of CBitMapAllocator if attempting to free a block that is not allocated.
  2847 	*/
  2848 	EBmaFreeBlkNotAllocated=87,
  2849 
  2850 
  2851 	/**
  2852 	This panic is raised by the Free() member function 
  2853 	of CBitMapAllocator if attempting to allocate a block that is not free.
  2854 	*/
  2855 	EBmaAllocBlkNotFree=88,
  2856 
  2857 
  2858 	/**
  2859 	This panic is raised by call to the Replace() member function of 
  2860 	CActiveScheduler when the replacement active scheduler is the same as
  2861 	the existing active scheduler.
  2862 	*/
  2863 	EActiveSchedulerReplacingSelf=89,
  2864 	
  2865 	
  2866 	/**
  2867 	The panic is raised as a result of a call to the Pop() and PopAndDestroy()
  2868 	static member functions of the CleanupStack class.
  2869 	
  2870 	The panic occurs when an the item to be popped is not the expected item.
  2871 	*/
  2872 	EClnCheckFailed=90,
  2873 	
  2874 	
  2875 	/**
  2876 	This panic is raised by CActiveSchedulerWait::Start()
  2877     when the CActiveSchedulerWait has already been started.
  2878     
  2879     @see CActiveSchedulerWait
  2880 	*/
  2881 	EActiveSchedulerWaitAlreadyStarted=91,
  2882 	
  2883 	
  2884 	/** 
  2885 	This panic is raised by CActiveSchedulerWait::AsyncStop() and
  2886 	CActiveSchedulerWait::CanStopNow()
  2887 	when the CActiveSchedulerWait has not been started.
  2888 	*/
  2889 	EActiveSchedulerWaitNotStarted=92,
  2890 
  2891 
  2892 	/**
  2893 	This panic is raised during construction of a CAsyncOneShot if the attempt
  2894 	to open a handle to the current thread fails.
  2895 	*/
  2896 	EAsyncOneShotSetupFailed=93,
  2897 	
  2898 	
  2899 	/**
  2900 	Not used.
  2901 	*/
  2902 	ESvrBadSecurityPolicy=94,
  2903 
  2904 
  2905 	/**
  2906 	This panic is raised if CPolicyServer::CustomSecurityCheckL(),
  2907 	or CPolicyServer::CustomFailureActionL() are called.
  2908 	
  2909 	Odds are that you forgot to implement one of these two functions in your
  2910 	CPolicyServer derived Server.
  2911 	*/
  2912 	EPolSvrCallingBaseImplementation=95,
  2913 
  2914 
  2915 	/**
  2916 	This panic is raised in debug builds by the CPolicyServer constructor if
  2917 	TPolicy::iRanges[0] does not have a value of 0.
  2918 	*/
  2919 	EPolSvr1stRangeNotZero=96,
  2920 
  2921 
  2922 	/**
  2923 	This panic is raised in debug builds by the CPolicyServer constructor if
  2924 	each element of TPolicy::iRanges is not greater than the previous.
  2925 	*/
  2926 	EPolSvrRangesNotIncreasing=97,
  2927 
  2928 
  2929 	/**
  2930 	This panic is raised in debug builds by the CPolicyServer constructor
  2931 	unless every element in TPolicy::iElementsIndex is valid.  Every element,
  2932 	x, must not be one of (ESpecialCaseHardLimit <= x <= ESpecialCaseLimit) in
  2933 	order to be valid.  See CPolicyServer::TSpecialCase for more information.
  2934 	*/
  2935 	EPolSvrElementsIndexValueInvalid=98,
  2936 
  2937 
  2938 	/**
  2939 	This panic is raised in debug builds by the CPolicyServer constructor if
  2940 	TPolicy::iOnConnect has an invalid value. iOnConnect must not be one of
  2941 	(ESpecialCaseHardLimit <= x <= ESpecialCaseLimit) in order to be valid.
  2942 	See CPolicyServer::TSpecialCase for more information.
  2943 	*/
  2944 	EPolSvrIOnConnectValueInvalid=99,
  2945 	
  2946 
  2947 	/**
  2948 	This panic is raised if CPolicyServer::iPolicy is found to be invalid for
  2949 	an unkown reason.  There is a good chance that your policy would cause the
  2950 	server to panic with one of the above specific policy panic codes if you
  2951 	run it in debug mode.  See the policy server documentation for a
  2952 	description of a valid policy.
  2953 	*/
  2954 	EPolSvrPolicyInvalid=100,
  2955 
  2956 
  2957 	/**
  2958 	The value returned from CustomSecurityCheckL or CustomFailureActionL was
  2959 	invalid.  See CPolicyServer::TCustomResult for a list of valid results.
  2960 	*/
  2961 	EPolSvrInvalidCustomResult=101,
  2962 
  2963 
  2964 	/**
  2965 	This panic is raised in debug builds by the CPolicyServer constructor if
  2966 	TPolicy.iRangeCount is not greater than 0.  All policies given to the
  2967 	policy server must contain at least 1 policy. 
  2968 	*/
  2969 	EPolSvrIRangeCountInvalid=102,
  2970 
  2971 
  2972 	/**
  2973 	This panic is raised by the policy server framework if a message fails a
  2974 	policy check (custom or not) and the associated action is EPanicClient.
  2975 	*/
  2976 	EPolSvrActionPanicClient=103,
  2977 
  2978 	/**
  2979 	This panic is raised by CObjectIx class methods if inconsistent data condition occurs
  2980 	It can appear in debug build only.
  2981 	*/
  2982 	EObjInconsistent=104,
  2983 
  2984     };
  2985 
  2986 #endif