williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2: // All rights reserved.
williamr@2: // This component and the accompanying materials are made available
williamr@4: // under the terms of the License "Eclipse Public License v1.0"
williamr@2: // which accompanies this distribution, and is available
williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2: //
williamr@2: // Initial Contributors:
williamr@2: // Nokia Corporation - initial contribution.
williamr@2: //
williamr@2: // Contributors:
williamr@2: //
williamr@2: // Description:
williamr@2: // e32\include\e32panic.h
williamr@2: // 
williamr@2: //
williamr@2: 
williamr@2: /**
williamr@2:  @file e32panic.h
williamr@2:  @publishedAll
williamr@2:  @released
williamr@2: */
williamr@2: 
williamr@2: #ifndef __E32PANIC_H__
williamr@2: #define __E32PANIC_H__
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: /**
williamr@2: Defines a set of panic numbers associated with the USER panic category.
williamr@2: 
williamr@2: Some of these numbers are also associated with panics raised on
williamr@2: the kernel side, and may be associated with 
williamr@2: a number of category names, including KERN-COMMON, KERN-HEAP etc.
williamr@2: */
williamr@2: enum TCdtPanic
williamr@2: 	{
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A thread has called User::Invariant(). 
williamr@2: 
williamr@2:     Typically, User::Invariant() is called when a test for a class
williamr@2:     invariant fails, i.e. when a test which checks that the internal data
williamr@2:     of an object is self-consistent, fails. 
williamr@2: 
williamr@2:     Check the design and implementation of your class.
williamr@2:     
williamr@2:     @see User
williamr@2: 	*/
williamr@2: 	EInvariantFalse=0,
williamr@2: 		
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETDateTimeUnderflow=1,
williamr@2: 	
williamr@2: 		
williamr@2: 	
williamr@2: 	/**
williamr@2:     Not used.
williamr@2: 	*/
williamr@2: 	ETDateTimeBadDate=2,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A TDateTime object has been constructed with an invalid date or time field.
williamr@2: 
williamr@2:     @see TDateTime
williamr@2: 	*/
williamr@2: 	ETDateTimeBadDateTime=3,
williamr@2: 	
williamr@2: 	
williamr@2:     /**
williamr@2:     Not used.
williamr@2: 	*/
williamr@2: 	ETDateTimeAddDaysRange=4,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     Not used.
williamr@2: 	*/
williamr@2: 	ETDateTimeAddMonthsRange=5,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2:     Not used.
williamr@2: 	*/
williamr@2: 	ETDateTimeDaySecNegative=6,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A panic raised by the Ptr() member function of a 16-bit descriptor
williamr@2: 	if the descriptor is invalid.
williamr@2: 	
williamr@2: 	@see TDesC16::Ptr()
williamr@2: 	*/
williamr@2: 	ETDes16BadDescriptorType=7,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The length value passed to a 16-bit variant descriptor member
williamr@2: 	function is invalid.
williamr@2: 	
williamr@2: 	This panic may be raised by some descriptor constructors and, specifically,
williamr@2: 	by the Replace() and Set() descriptor member functions.
williamr@2: 	
williamr@2: 	@see TDes16
williamr@2: 	*/
williamr@2: 	ETDes16LengthOutOfRange=8,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The index value passed to the 16-bit variant descriptor Operator[] is
williamr@2: 	out of bounds.
williamr@2: 	*/
williamr@2: 	ETDes16IndexOutOfRange=9,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The position value passed to a 16-bit variant descriptor member function
williamr@2: 	is out of bounds.
williamr@2: 
williamr@2: 	The panic can be raised by the Left(), Right(), Mid(), Insert(), Delete()
williamr@2: 	and Replace() member functions of TDes16.
williamr@2: 
williamr@2:     @see TDes16
williamr@2: 	*/
williamr@2: 	ETDes16PosOutOfRange=10,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An operation to move or copy data to a 16-bit variant descriptor,
williamr@2: 	will cause the length of that descriptor to exceed its maximum length.
williamr@2: 	
williamr@2: 	This may be caused by any of the copying, appending or formatting member
williamr@2: 	functions but, specifically, by the Insert(), Replace(), Fill(), Fillz(),
williamr@2: 	and ZeroTerminate() descriptor member functions. It can also be caused by
williamr@2: 	the SetLength() function.
williamr@2: 
williamr@2:     @see TDes16
williamr@2: 	*/
williamr@2: 	ETDes16Overflow=11,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The format string passed to the 16-bit variant descriptor member functions
williamr@2: 	Format() and AppendFormat() has incorrect syntax.
williamr@2: 	
williamr@2:     @see TDes16
williamr@2: 	*/
williamr@2: 	ETDes16BadFormatDescriptor=12,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An invalid variable list has been passed to the AppendFormatList() member
williamr@2: 	function of the 16-bit variant descriptor TDes16, when the format is %S or %s.
williamr@2: 	
williamr@2:     This panic is raised in debug builds only.
williamr@2:     
williamr@2:     @see TDes16
williamr@2: 	*/
williamr@2: 	ETDes16BadFormatParams=13,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when expanding or contracting an HBufC16 buffer using
williamr@2: 	the ReAlloc() or ReAllocL() descriptor member functions and the new
williamr@2: 	specified length is too small to contain the data.
williamr@2: 	
williamr@2: 	@see HBufC16
williamr@2: 	*/
williamr@2: 	ETDes16ReAllocTooSmall=14,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETDes16RemoteBadDescriptorType=15,
williamr@2: 	
williamr@2: 	
williamr@2:     /**
williamr@2: 	In a call to the Replace() member function of the 16-bit variant
williamr@2: 	descriptor TDes16,the length of the source descriptor is negative
williamr@2: 	or exceeds the maximum length of the target descriptor.
williamr@2: 	
williamr@2:     @see TDes16
williamr@2: 	*/
williamr@2: 	ETDes16RemoteLengthOutOfRange=16,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A 16-bit variant descriptor is being constructed with a negative
williamr@2: 	length value.
williamr@2: 	
williamr@2: 	This panic may also be raised if the Set(), Repeat() and the Find() member
williamr@2: 	functions are passed negative length values.
williamr@2: 	*/
williamr@2: 	ETDes16LengthNegative=17,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A 16-bit variant descriptor is being constructed with a negative maximum 
williamr@2: 	length value.
williamr@2: 	*/
williamr@2: 	ETDes16MaxLengthNegative=18,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A panic raised by the Ptr() member function of an 8-bit descriptor
williamr@2: 	if the descriptor is invalid.
williamr@2: 	
williamr@2: 	@see TDesC8::Ptr()
williamr@2: 	*/
williamr@2: 	ETDes8BadDescriptorType=19,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The length value passed to an 8-bit variant descriptor member
williamr@2: 	function is invalid.
williamr@2: 	
williamr@2: 	This panic may be raised by some descriptor constructors and, specifically,
williamr@2: 	by the Replace() and Set() descriptor member functions.
williamr@2: 	
williamr@2: 	@see TDes8
williamr@2: 	*/
williamr@2: 	ETDes8LengthOutOfRange=20,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The index value passed to the 8-bit variant descriptor Operator[] is
williamr@2: 	out of bounds.
williamr@2: 	*/
williamr@2: 	ETDes8IndexOutOfRange=21,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The position value passed to an 8-bit variant descriptor member function
williamr@2: 	is out of bounds.
williamr@2: 
williamr@2: 	The panic can be raised by the Left(), Right(), Mid(), Insert(), Delete()
williamr@2: 	and Replace() member functions of TDes8
williamr@2: 
williamr@2:     @see TDes8
williamr@2: 	*/
williamr@2: 	ETDes8PosOutOfRange=22,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An operation to move or copy data to an 8-bit variant descriptor,
williamr@2: 	will cause the length of that descriptor to exceed its maximum length.
williamr@2: 	
williamr@2: 	This may be caused by any of the copying, appending or formatting member
williamr@2: 	functions but, specifically, by the Insert(), Replace(), Fill(), Fillz(),
williamr@2: 	and ZeroTerminate() descriptor member functions. It can also be caused by
williamr@2: 	the SetLength() function.
williamr@2: 
williamr@2:     @see TDes8
williamr@2: 	*/
williamr@2:     ETDes8Overflow=23,
williamr@2:    	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The format string passed to the 8-bit variant descriptor member functions
williamr@2: 	Format() and AppendFormat() has incorrect syntax.
williamr@2: 	
williamr@2:     @see TDes8
williamr@2: 	*/
williamr@2: 	ETDes8BadFormatDescriptor=24,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An invalid variable list has been passed to the AppendFormatList() member
williamr@2: 	function of the 8-bit variant descriptor TDes8, when the format is %S or %s.
williamr@2: 	
williamr@2:     This panic is raised in debug builds only.
williamr@2:     
williamr@2:     @see TDes8
williamr@2: 	*/
williamr@2: 	ETDes8BadFormatParams=25,
williamr@2: 		
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when expanding or contracting an HBufC8 buffer using
williamr@2: 	the ReAlloc() or ReAllocL() descriptor member functions and the new
williamr@2: 	specified length is too small to contain the data.
williamr@2: 	
williamr@2: 	@see HBufC8
williamr@2: 	*/
williamr@2: 	ETDes8ReAllocTooSmall=26,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETDes8RemoteBadDescriptorType=27,
williamr@2: 	
williamr@2: 	
williamr@2: 	
williamr@2:     /**
williamr@2: 	In a call to the Replace() member function of the 8-bit variant
williamr@2: 	descriptor TDes8,the length of the source descriptor is negative
williamr@2: 	or exceeds the maximum length of the target descriptor.
williamr@2: 	
williamr@2:     @see TDes8
williamr@2: 	*/
williamr@2: 	ETDes8RemoteLengthOutOfRange=28,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An 8-bit variant descriptor is being constructed with a negative
williamr@2: 	length value.
williamr@2: 	
williamr@2: 	This panic may also be raised if the Set(), Repeat() and the Find() member
williamr@2: 	functions are passed negative length values.
williamr@2: 	*/
williamr@2: 	ETDes8LengthNegative=29,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An 8-bit variant descriptor is being constructed with a negative maximum 
williamr@2: 	length value.
williamr@2: 	*/
williamr@2: 	ETDes8MaxLengthNegative=30,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETEntLeaveWithoutEnter=31,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	It is raised by TRawEvent::Pos() when
williamr@2: 	the event is not a mouse/pen type event.
williamr@2:     
williamr@2:     This panic is raised in debug builds only.
williamr@2:     */
williamr@2: 	ETEventNotMoveType=32,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     It is raised by TRawEvent::ScanCode() when
williamr@4:     the event is not a key down, up or repeat event.
williamr@2:     
williamr@2:    	This panic is raised in debug builds only.
williamr@2: 	*/
williamr@2: 	ETEventNotKeyType=33,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     It is raised by TRawEvent::Modifiers() when
williamr@2:     the event is not a modifier update event.
williamr@2: 	
williamr@2:    	This panic is raised in debug builds only.
williamr@2: 	*/
williamr@2:     ETEventNotUpdateModifiersType=34,
williamr@2:     
williamr@2:     
williamr@2:     /**
williamr@2:     This panic is raised by the default At() virtual member function of TKey.
williamr@2:     
williamr@2:     The function is intended to be overridden by a derived class.
williamr@2:     
williamr@2:     @see TKey
williamr@2:     */
williamr@2: 	ETFuncTKeyVirtualAt=35,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the default Swap() virtual member function of TSwap.
williamr@2: 	
williamr@2: 	The function is intended to be overridden by a derived class.
williamr@2: 
williamr@2: 	@see TSwap
williamr@2: 	*/
williamr@2: 	ETFuncTSwapVirtualSwap=36,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The index value passed to the operator[] of a TUidType is negative
williamr@2: 	or is greater than or equal to KMaxCheckedUid.
williamr@2: 	
williamr@2: 	@see KMaxCheckedUid
williamr@2: 	@see TUidType
williamr@2: 	*/
williamr@2: 	ETFuncUidTypeBadIndex=37,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The length of the descriptor passed to the Set(TDesC8&) member function of TCheckedUid 
williamr@2: 	is not equal to the size of a TCheckedUid object.
williamr@2: 	
williamr@2: 	@see TCheckedUid
williamr@2: 	*/
williamr@2: 	ETFuncCheckedUidBadSet=38,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The size specified of a new heap is smaller than the permitted minimum;
williamr@2: 	it must be at least the size of a RHeap object.
williamr@2: 	
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-HEAP category.
williamr@2: 	*/
williamr@2: 	ETHeapNewBadSize=39,
williamr@2: 
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETHeapCreateSizeTooSmall=40,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to UserHeap::ChunkHeap(), the value defining the minimum length
williamr@2: 	of the heap is greater than the value defining the maximum length to
williamr@2: 	which the heap can grow.
williamr@2: 
williamr@2:     @see UserHeap
williamr@2: 	*/
williamr@2: 	ETHeapCreateMaxLessThanMin=41,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the RHeap member functions, AllocLen(), Free(), FreeZ(),
williamr@2: 	ReAlloc(), ReAllocL(), Adjust() and AdjustL(), a pointer passed to these
williamr@2: 	functions does not point to a valid cell.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-HEAP category.
williamr@2: 	*/
williamr@2: 	ETHeapBadCellAddress=42,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the Adjust() and AdjustL() member functions of RHeap, a heap
williamr@2: 	cell is being shrunk and the amount by which the cell is being shrunk
williamr@2: 	is less than the current length of the cell.
williamr@2: 	*/
williamr@2: 	ETHeapAdjustTooSmall=43,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the Free() and FreeZ() member functions of RHeap,the cell
williamr@2: 	being freed overlaps the next cell on the free list (i.e. the first cell
williamr@2: 	on the free list with an address higher than the one being freed).
williamr@2: 	*/
williamr@2: 	ETHeapFreeBadNextCell=44,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the Free() and FreeZ() member functions of RHeap, the cell
williamr@2: 	being freed overlaps the previous cell on the free list (i.e. the last cell
williamr@2: 	on the free list with an address lower than the one being freed).
williamr@2: 	*/
williamr@2: 	ETHeapFreeBadPrevCell=45,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the ReAlloc() and ReAllocL() member functions of RHeap, the
williamr@2: 	cell being reallocated overlaps the next cell on the free list (i.e. the
williamr@2: 	first cell on the free list with an address higher than the one being
williamr@2: 	reallocated).
williamr@2: 	*/
williamr@2: 	ETHeapReAllocBadNextCell=46,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the Alloc(), AllocL() or AllocLC() member functions of RHeap,
williamr@2: 	an attempt has been made to allocate a cell from a heap, using an unsigned
williamr@2: 	size value which is greater than or equal to the value of KMaxTInt/2.
williamr@2: 
williamr@2:     This panic may also be raised by the heap walker when it finds a bad
williamr@2:     allocated heap cell size.
williamr@2:     
williamr@2:     @see User::Check()
williamr@2:     @see RAllocator::Check()
williamr@2:     @see KMaxTInt
williamr@2: 	*/
williamr@2: 	ETHeapBadAllocatedCellSize=47,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the heap walker when it finds a bad
williamr@2: 	allocated heap cell address.
williamr@2: 	*/
williamr@2: 	ETHeapBadAllocatedCellAddress=48,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the heap walker when it finds a bad
williamr@2: 	free heap cell address.
williamr@2: 	*/
williamr@2: 	ETHeapBadFreeCellAddress=49,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETHeapDebugBufferOverflow=50,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A call has been made to the __DbgMarkEnd() member function of RHeap, when
williamr@2: 	there has been no corresponding call to the __DbgMarkStart() member function.
williamr@2: 	
williamr@2: 	This panic is also raised when there are more calls to __DbgMarkEnd() than
williamr@2: 	to __DbgMarkStart(). These functions are part of the debug assistance provided by
williamr@2: 	the RHeap class.
williamr@2: 
williamr@2:     This panic is raised in debug builds only.
williamr@2: 	*/
williamr@2: 	ETHeapDebugUnmatchedCallToCheckHeap=51,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the Adjust() and AdjustL() member functions of an RHeap,
williamr@2: 	the offset from the start of the cell being stretched or shrunk is
williamr@2: 	a negative value.
williamr@2: 	*/
williamr@2: 	ETHeapAdjustOffsetNegative=52,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETHeapAllocSizeNegative=53,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to the ReAlloc() and ReAllocL() member functions of an RHeap,
williamr@2: 	the new size for the cell being reallocated is a negative value.
williamr@2: 	*/
williamr@2: 	ETHeapReAllocSizeNegative=54,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is caused by the UserHeap::ChunkHeap() static function when
williamr@2: 	the value defining the minimum length of the heap is negative.
williamr@2: 	*/
williamr@2: 	ETHeapMinLengthNegative=55,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is caused by the UserHeap::ChunkHeap() static function when
williamr@2: 	the value defining the maximum length to which the heap can grow,
williamr@2: 	is negative.
williamr@2: 	*/
williamr@2: 	ETHeapMaxLengthNegative=56,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when closing a shared heap using the Close() member
williamr@2: 	function of RHeap and the access count is zero or negative.
williamr@2: 	
williamr@2: 	A zero or negative access count suggests that an attempt is being made
williamr@2: 	to close the heap too many times.
williamr@2: 	*/
williamr@2: 	EAllocatorClosedTooManyTimes=57,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when opening a heap for shared access using the Open()
williamr@2: 	member function of RHeap and the heap type is not EChunkNormal.
williamr@2: 	*/
williamr@2: 	ETHeapOnlyChunkHeaps=58,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the UnGet() member function of the 8-bit variant
williamr@2: 	lexical analyzer, TLex8, if the character position is already at
williamr@2: 	the start of the string.
williamr@2: 
williamr@2:     @see TLex8
williamr@2: 	*/
williamr@2: 	ETLex8UnGetUnderflow=59,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Inc() member function of the 8-bit variant
williamr@2: 	lexical analyzer, TLex8, if the resulting character position lies before
williamr@2: 	the start of the string or after the end of the string.
williamr@2: 
williamr@2:     @see TLex8
williamr@2: 	*/
williamr@2: 	ETLex8IncOutOfRange=60,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the SkipAndMark() member function of the 8-bit
williamr@2: 	variant lexical analyzer, TLex8, if the resulting character position lies
williamr@2: 	before the start of the string, or after the end of the string.
williamr@2: 
williamr@2:     @see TLex8
williamr@2: 	*/
williamr@2: 	ETLex8SkipOutOfRange=61,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETLex8BadFormatList=62,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the ValidateMark() member function of the 8-bit
williamr@2: 	variant lexical analyzer, TLex8, if the position of the extraction mark
williamr@2: 	lies before the start of the string or after the end of the string.
williamr@2: 
williamr@2:     @see TLex8
williamr@2: 	*/
williamr@2: 	ETLex8MarkOutOfRange=63,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the UnGet() member function of the 16-bit variant
williamr@2: 	lexical analyzer, TLex16, if the character position is already at the start
williamr@2: 	of the string.
williamr@2: 
williamr@2:     @see TLex16
williamr@2: 	*/
williamr@2: 	ETLex16UnGetUnderflow=64,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Inc() member function of the 16-bit variant
williamr@2: 	lexical analyzer, TLex16, if the resulting character position lies before
williamr@2: 	the start of the string or after the end of the string.
williamr@2: 
williamr@2:     @see TLex16
williamr@2: 	*/
williamr@2: 	ETLex16IncOutOfRange=65,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the SkipAndMark() member function of the 16-bit
williamr@2: 	variant lexical analyzer, TLex16, if the resulting character position lies
williamr@2: 	before the start of the string or after the end of the string.
williamr@2: 
williamr@2:     @see TLex16
williamr@2: 	*/
williamr@2: 	ETLex16SkipOutOfRange=66,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETLex16BadFormatList=67,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the ValidateMark() member function of the 16-bit
williamr@2: 	variant lexical analyzer, TLex16, if the position of the extraction mark
williamr@2: 	lies before the start of the string or after the end of the string.
williamr@2: 
williamr@2:     @see TLex16
williamr@2: 	*/
williamr@2: 	ETLex16MarkOutOfRange=68,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the TDateSuffix constructor or its Set() member
williamr@2: 	function when the suffix index specified is negative or is greater than or
williamr@2: 	equal to the value KMaxSuffixes.
williamr@2: 	
williamr@2: 	The index is used to access a locale dependent table of suffix characters,
williamr@2: 	which can be appended to the dates of the month (e.g. the characters "st" 
williamr@2: 	for 1st, "nd" for 2nd, "st" for 31st).
williamr@2: 	
williamr@2: 	@see TDateSuffix
williamr@2: 	@see KMaxSuffixes
williamr@2: 	*/
williamr@2: 	ETLoclSuffixOutOfRange=69,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when attempting to complete a client/server request
williamr@2: 	and the RMessagePtr is null.
williamr@2: 	*/
williamr@2: 	ETMesCompletion=70,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EMesBadRetryCount=71,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Send() and SendReceive() member functions
williamr@2: 	of RSessionBase, the client interface for communication with a server,
williamr@2: 	when the specified operation code identifying the required service is
williamr@2: 	either negative or a value greater than KMaxTint.
williamr@2: 	
williamr@2: 	@see RSessionBase
williamr@2: 	@see KMaxTint
williamr@2: 	*/
williamr@2: 	ETMesBadFunctionNumber=72,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Receive() member function of RServer,
williamr@2: 	the handle to the server, when the attempt to receive a message
williamr@2: 	for the server, synchronously, fails.
williamr@2: 
williamr@2:     @see RServer
williamr@2: 	*/
williamr@2: 	ETMesReceiveFailed=73,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ESQueOffsetNegative=74,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructor of a singly linked list header,
williamr@2: 	a TSglQue or by the SetOffset() member function when the specified offset
williamr@2: 	is not 4 byte aligned, i.e. when it is not divisible by 4.
williamr@2: 
williamr@2:     @see TSglQue
williamr@2: 	*/
williamr@2: 	ESQueOffsetNotAligned=75,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when attempting to remove an object from a singly
williamr@2: 	linked list, using the Remove() member function of TSglQue, when
williamr@2: 	that object is not in the list.
williamr@2: 
williamr@2:     @see TSglQue
williamr@2: 	*/
williamr@2: 	ESQueLinkNotQueued=76,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETQueOffsetNegative=77,
williamr@2: 
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructor of a doubly linked list header,
williamr@2: 	a TDblQue or by the SetOffset() member function, when the specified
williamr@2: 	offset is not 4 byte aligned, i.e. when it is not divisible by 4.
williamr@2: 
williamr@2:     @see TDblQue
williamr@2: 	*/
williamr@2: 	ETQueOffsetNotAligned=78,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by a call to either the First() or the Last() member
williamr@2: 	functions of a doubly linked list, a TDblQue, which return pointers
williamr@2: 	to the first and last element in the list respectively; the panic
williamr@2: 	occurs when the list is empty.
williamr@2: 
williamr@2:     This panic is raised in debug builds only.
williamr@2: 
williamr@2:     @see TDblQue
williamr@2: 	*/
williamr@2: 	ETQueQueueEmpty=79,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     This panic is raised by the post increment operator, operator++, the post
williamr@2:     decrement operator, operator- and the return current element
williamr@2:     operator, operator T*, of the doubly linked list iterator, a TDblQueIter;
williamr@2:     the panic occurs when the element returned by these operators is not in
williamr@2:     the list.
williamr@2:     
williamr@2:     Typically, this is caused by the removal of the element from the list prior
williamr@2:     to calling these operators.
williamr@2: 	
williamr@2:     This panic is raised in debug builds only.
williamr@2:     
williamr@2:     @see TDblQueIter
williamr@2: 	*/
williamr@2: 	ETQueLinkHasBeenRemoved=80,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the get rectangle operator, operator[], of
williamr@2: 	a clipping region, derived from the abstract base class TRegion.
williamr@2: 	
williamr@2: 	The panic occurs when the index, which refers to the specific rectangle
williamr@2: 	within the region, is greater than or equal to the number of rectangles
williamr@2: 	contained within the region (as returned by the Count() member function).
williamr@2: 
williamr@2:     The index must be strictly less than the number of contained rectangles.
williamr@2: 
williamr@2:     @see TRegion
williamr@2: 	*/
williamr@2: 	ETRegionOutOfRange=81,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when sorting the rectangles within a clipping region,
williamr@2: 	derived from the abstract base class TRegion, using the Sort() member
williamr@2: 	function of TRegion.
williamr@2: 	
williamr@2: 	The panic occurs when the region is invalid.
williamr@2: 
williamr@2:     This panic is raised in debug builds only.
williamr@2: 
williamr@2:     @see TRegion
williamr@2: 	*/
williamr@2: 	ETRegionInvalidRegionInSort=82,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic occurs when the Kernel sends a message to the Kernel server
williamr@2: 	and this completes with an error, i.e. an error code which is not KErrNone.
williamr@2: 	*/
williamr@2: 	ETUtlKernelServerSend=83,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Panic() member function of RTest, the test class.
williamr@2: 	*/
williamr@2: 	ERTestFailed=84,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the CheckConsoleCreated() member functions of
williamr@2: 	RTest and RTestJ, the test classes, when the creation of a console, 
williamr@2: 	as derived from a CConsoleBase, fails.
williamr@2: 	*/
williamr@2: 	ERTestCreateConsole=85,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the static function User::After() when
williamr@2: 	the specified time interval is negative.
williamr@2: 	*/
williamr@2: 	EExecAfterTimeNegative=86,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when the time interval passed to the After() member
williamr@2: 	function of RTimer is negative.
williamr@2: 
williamr@2:     @see RTimer
williamr@2: 	*/
williamr@2: 	ERTimerAfterTimeNegative=87,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Compare(), Mem::CompareC() and Mem::CompareF()
williamr@2: 	when the length of the area of memory designated as the left hand area,
williamr@2: 	is negative.
williamr@2: 	
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EMemLeftNegative=88,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Compare(), Mem::CompareC() and Mem::CompareF()
williamr@2: 	when the length of the area of memory designated as the right hand area,
williamr@2: 	is negative.
williamr@2: 	
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EMemRightNegative=89,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Copy() when the length of the area of memory
williamr@2: 	to be copied is negative.
williamr@2: 
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EMemCopyLengthNegative=90,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Move() when the length of the area of memory
williamr@2: 	to be moved is not a multiple of 4.
williamr@2: 
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EWordMoveLengthNotMultipleOf4=91,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Move() when the address of the source for
williamr@2: 	the move operation is not aligned on a 4 byte boundary.
williamr@2: 
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EWordMoveSourceNotAligned=92,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Move() when the address of the target for
williamr@2: 	the move operation is not aligned on a 4 byte boundary.
williamr@2: 
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EWordMoveTargetNotAligned=93,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Swap() when the length of the area of
williamr@2: 	memory to be swapped is negative.
williamr@2: 
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EMemSwapLengthNegative=94,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by Mem::Fill() and Mem::FillZ() when the length of
williamr@2: 	the area of memory to be filled is negative.
williamr@2: 
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-COMMON category.
williamr@2: 
williamr@2: 	@see Mem
williamr@2: 	*/
williamr@2: 	EMemFillLengthNegative=95,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The value for the number of records to be sorted passed
williamr@2: 	to User::QuickSort() is negative.
williamr@2: 
williamr@2:     @see User
williamr@2: 	*/
williamr@2: 	ESortCountNegative=96,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The value for the number of records taking part in the search passed
williamr@2: 	to User::BinarySearch() is negative.
williamr@2: 	
williamr@2: 	@see User
williamr@2: 	*/
williamr@2: 	EBinarySearchCountNegative=97,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructor of the base key class, TKey.
williamr@2: 	
williamr@2: 	It occurs when the offset value passed to the constructor is negative.
williamr@2: 	As TKey is an abstract class, i.e. objects of type TKey are not intended
williamr@2: 	to be explicitly constructed, look at the offset value passed to
williamr@2: 	the constructors of derived classes such as TKeyArrayFix, TKeyArrayVar,
williamr@2: 	and TKeyArrayPak for the cause of the panic.
williamr@2: 
williamr@2:     @see TKey
williamr@2:     @see TKeyArrayFix
williamr@2:     @see TKeyArrayVar
williamr@2: 	@see TKeyArrayPak
williamr@2: 	*/
williamr@2: 	EKeyOffsetNegative=98,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a local or global chunk is created using
williamr@2: 	the RChunk member functions: CreateLocal(), CreateGlobal(),
williamr@2: 	CreateDoubleEndedLocal() and CreateDoubleEndedGlobal().
williamr@2: 	
williamr@2: 	It occurs when the value for the maximum size to which this chunk can
williamr@2: 	be adjusted, is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateMaxSizeNegative=99,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a local or global chunk is created using
williamr@2: 	the RChunk member functions: CreateLocal() and CreateGlobal().
williamr@2: 	
williamr@2: 	It occurs when the value for the number of bytes to be committed to 
williamr@2: 	this chunk on creation, is negative.
williamr@2: 
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateSizeNotPositive=100,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a local or global chunk is created using
williamr@2: 	the RChunk member functions: CreateLocal() and CreateGlobal().
williamr@2: 	
williamr@2: 	It occurs when the value for the number of bytes to be committed to
williamr@2: 	this chunk on creation is greater than the value for the maximum size
williamr@2: 	to which this chunk can be adjusted.
williamr@2: 
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateMaxLessThanMin=101,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when changing the number of bytes committed to a chunk
williamr@2: 	by calling the Adjust() member function of RChunk.
williamr@2: 	
williamr@2: 	The panic occurs when the value passed to the function is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkAdjustNewSizeNegative=102,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ESesDelayTimeNegative=103,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ESesRetryCountNegative=104,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a local or global semaphore is created using
williamr@2: 	the RSemaphore member functions: CreateLocal() and CreateGlobal(), and
williamr@2: 	the value for the initial semaphore count is negative.
williamr@2: 	
williamr@2: 	@see RSemaphore
williamr@2: 	*/
williamr@2: 	ESemCreateCountNegative=105,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a semaphore is signaled using
williamr@2: 	the Signal(TInt aCount) member function and the count value is negative.
williamr@2: 
williamr@2:     @see RSemaphore
williamr@2: 	*/
williamr@2: 	ESemSignalCountNegative=106,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a critical section is signalled using
williamr@2: 	the Signal() member function and the call to Signal() is not matched
williamr@2: 	by an earlier call to Wait(), which suggests that this is a stray signal.
williamr@2: 
williamr@2:     @see RCriticalSection
williamr@2: 	*/
williamr@2: 	ECriticalSectionStraySignal=107,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EThrdHeapNotChunkType=108,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when creating a thread using the Create() member
williamr@2: 	functions of RThread.
williamr@2: 	
williamr@2: 	The panic occurs when the value of the stack size passed to
williamr@2: 	these functions is negative.
williamr@2: 	
williamr@2:     @see RThread
williamr@2: 	*/
williamr@2: 	EThrdStackSizeNegative=109,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when creating a thread using the Create() member
williamr@2: 	functions of RThread.
williamr@2: 	
williamr@2: 	The panic is only raised by those variants of Create() that create a new
williamr@2: 	heap for the new thread. The panic occurs if the minimum heap size
williamr@2: 	specified is less than KMinHeapSize.
williamr@2: 
williamr@2:     @see RThread
williamr@2:     @see KMinHeapSize
williamr@2: 	*/
williamr@2: 	EThrdHeapMinTooSmall=110,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when creating a thread using the Create() member
williamr@2: 	functions of RThread.
williamr@2: 	
williamr@2: 	The panic is only raised by those variants of Create() which create a new
williamr@2: 	heap for the new thread. The panic occurs if the minimum heap size
williamr@2: 	specified is greater than the maximum size to which the heap can grow.
williamr@2: 	
williamr@2:     @see RThread
williamr@2: 	*/
williamr@2: 	EThrdHeapMaxLessThanMin=111,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Alloc() and AllocL() member functions of class
williamr@2: 	RRef when the size value passed is negative.
williamr@2: 	*/
williamr@2: 	ERefAllocSizeNegative=112,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by:
williamr@2: 
williamr@2:     1. the constructor of a time representation object, a TTime, which takes
williamr@2:        a text string, when the format of that text string is incorrect
williamr@2:        or represents an invalid date/time.
williamr@2:        
williamr@2:     2. the Parse() member function of a time representation object, a TTime,
williamr@2:        if the century offset value is either negative or is greater than
williamr@2:        or equal to 100.
williamr@2:        
williamr@2:     3. the Time::DaysInMonth() function, if an invalid month value is passed.
williamr@2: 
williamr@2:     @see TTime
williamr@2:     @see Time
williamr@2: 	*/
williamr@2: 	ETTimeValueOutOfRange=113,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     This panic is raised by member functions of TBusLocalDrive when no
williamr@2:     connection has been made to a local drive.
williamr@2:     
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 	
williamr@2: 	@see TBusLocalDrive
williamr@2: 	*/
williamr@2: 	EDriveNotConnected=114,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when attempting to connect to a local drive
williamr@2: 	using the Connect() member function of TBusLocalDrive, and
williamr@2: 	the specified drive number is out of range, i.e. the drive number
williamr@2: 	is negative or is greater than or equal to KMaxLocalDrives.
williamr@2: 	
williamr@2: 	@see TBusLocalDrive
williamr@2: 	@see KMaxLocalDrives
williamr@2: 	*/
williamr@2: 	EDriveOutOfRange=115,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Lookup() member function of RLibrary when
williamr@2: 	the ordinal number of the required DLL function, is zero or negative.
williamr@2:     
williamr@2:     @see RLibrary
williamr@2: 	*/
williamr@2: 	EBadLookupOrdinal=116,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EChunkHeapBadOffset=117,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETQueLinkAlreadyInUse=118,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when setting a new currency symbol using
williamr@2: 	the User::SetCurrencySymbol() function.
williamr@2: 	
williamr@2: 	The panic occurs when the length of the descriptor containing
williamr@2: 	the new symbol is greater than KMaxCurrencySymbol.
williamr@2:  	
williamr@2:  	@see User
williamr@2:  	@see KMaxCurrencySymbol
williamr@2: 	*/
williamr@2: 	ECurrencySymbolOverflow=119,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the CreateDoubleEndedLocal()
williamr@2: 	and CreateDoubleEndedGlobal() member functions of RChunk when the lower
williamr@2: 	address of the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateBottomNegative=120,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the CreateDoubleEndedLocal()
williamr@2: 	and CreateDoubleEndedGlobal() member functions of RChunk when the upper
williamr@2: 	address of the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateTopNegative=121,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the CreateDoubleEndedLocal()
williamr@2: 	and CreateDoubleEndedGlobal() member functions of RChunk when the upper
williamr@2: 	address of the committed region is lower than the lower address of
williamr@2: 	the committed region.
williamr@2: 
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateTopLessThanBottom=122,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the CreateDoubleEndedLocal()
williamr@2: 	and CreateDoubleEndedGlobal() member functions of RChunk when the upper
williamr@2: 	address of the committed region is lower than the maximum size to which
williamr@2: 	this chunk can be adjusted.
williamr@2: 
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateTopBiggerThanMax=123,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::AdjustDoubleEnded() when the lower address
williamr@2: 	of the committed region is negative.
williamr@2: 	
williamr@2:     @see RChunk
williamr@2: 	*/
williamr@2: 	EChkAdjustBottomNegative=124,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::AdjustDoubleEnded() when the upper address
williamr@2: 	of the committed region is negative.
williamr@2: 	
williamr@2:     @see RChunk
williamr@2: 	*/
williamr@2: 	EChkAdjustTopNegative=125,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::AdjustDoubleEnded() when the upper address
williamr@2: 	of the committed region is lower than the lower address of the committed
williamr@2: 	region.
williamr@2: 	
williamr@2:     @see RChunk
williamr@2: 	*/
williamr@2: 	EChkAdjustTopLessThanBottom=126,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when constructing an array of pointers,
williamr@2: 	an RPointerArray, and specifying a granularity value which is
williamr@2: 	one of the following:
williamr@2: 
williamr@2:     1. zero
williamr@2: 
williamr@2:     2. negative
williamr@2: 
williamr@2:     3. greater than 0x10000000.
williamr@2:     
williamr@2:     @see RPointerArray
williamr@2: 	*/
williamr@2: 	EBadArrayGranularity=127,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when constructing an array of fixed length objects,
williamr@2: 	an RArray, and specifying a key offset value which is one of the following:
williamr@2: 
williamr@2:     1. negative
williamr@2: 
williamr@2:     2. not a multiple of 4
williamr@2: 
williamr@2:     3. greater than or equal to the size of the array elements.
williamr@2:     
williamr@2:     @see RArray
williamr@2: 	*/
williamr@2: 	EBadArrayKeyOffset=128,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when constructing an array of fixed length objects,
williamr@2: 	an RArray, and the length of the array elements is one of the following:
williamr@2: 
williamr@2:     1. zero
williamr@2: 
williamr@2:     2. negative
williamr@2: 
williamr@2:     3. greater than 640.
williamr@2:     
williamr@2:     @see RArray
williamr@2: 	*/
williamr@2: 	EBadArrayEntrySize=129,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when an index value passed to a member function
williamr@2: 	of RArray or RPointerArray identifying an array element, is out of bounds.
williamr@2: 
williamr@2:     @see RArray
williamr@2:     @see RPointerArray
williamr@2: 	*/
williamr@2: 	EBadArrayIndex=130,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when the value identifying the insertion position
williamr@2: 	in a call to RArray::Insert() or RPointerArray::Insert(), is either
williamr@2: 	negative or greater than the number of elements in the array.
williamr@2: 
williamr@2:     @see RArray
williamr@2:     @see RPointerArray
williamr@2: 	*/
williamr@2: 	EBadArrayPosition=131,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when an index value passed to
williamr@2: 	Mem::CollationMethodByIndex() or Mem::CollationMethodId() is out of bounds.
williamr@2: 
williamr@2:     @see Mem
williamr@2: 	*/
williamr@2: 	EBadCollationRulesIndex=132,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when an index value passed to TFixedArray::At()
williamr@2:     or TFixedArray::operator[] is out of bounds.
williamr@2: 
williamr@2:     @see TFixedArray
williamr@2: 	*/
williamr@2: 	EBadFixedArrayIndex=133,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ERawEventFlipTypeNotImplemented=134,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ENumberOfParametersExceedsMaximum=136,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions during the handling
williamr@2: 	of the variable parameter lists when the parameter is too big.
williamr@2: 	*/
williamr@2: 	ESizeOfParameterTooBig=137,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists when an index value
williamr@2: 	for the parameters is outside its permitted range.
williamr@2: 	*/
williamr@2: 	EParameterIndexOutOfRange1=138,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists when an index value
williamr@2: 	for the parameters is outside its permitted range.
williamr@2: 	
williamr@2: 	This panic is raised in debug mode only.
williamr@2: 	*/
williamr@2: 	EParameterIndexOutOfRange2=139,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EFormatDirectiveAlreadySet1=140,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EFormatDirectiveAlreadySet2=141,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	ENumberOfFormatDirectivesExceedsMaximum=142,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	ENoParametersInFormatDirective=143,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EFormatDirectiveNotYetSet=144,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EBadFormatDirectiveDataPointer=145,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EFormatDirectiveIndexOutOfRange=146,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	ENotOnFirstPassOfFormatDescriptor1=147,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	ENotOnFirstPassOfFormatDescriptor2=148,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EInconsistentSizeOfParameter=149,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	ENullTargetPointer=150,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	ENegativeSizeOfParameter=151,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EErrorOnSecondPassOfFormatDescriptor=152,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EUnexpectedError1=153,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EUnexpectedError2=154,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ECreateTransferBufferSizeNotPositive=155,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic occurs in the construction of an RPointerArray object from
williamr@2: 	an existing pointer array object, when the number defining the number
williamr@2: 	of entries in the existing array is not positive.
williamr@2: 	
williamr@2: 	@see RPointerArray
williamr@2: 	*/
williamr@2: 	EBadArrayCount=156,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::Commit() when the value of the offset of
williamr@2: 	the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCommitOffsetNegative=157,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::Commit() when the size of the
williamr@2: 	the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCommitSizeNegative=158,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::Allocate() when the size of the
williamr@2: 	the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkAllocateSizeNegative=159,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::Decommit() when the value of the offset of
williamr@2: 	the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkDecommitOffsetNegative=160,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by RChunk::Decommit() when the size of the
williamr@2: 	the committed region is negative.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkDecommitSizeNegative=161,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when an invalid chunk type has been passed to
williamr@2: 	the internal member RChunk::Create()
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateInvalidType=162,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a global chunk is being created and
williamr@2: 	no name has been specified.
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateInvalidName=163,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when creating a 'normal' chunk and the offset of the bottom of the new committed region 
williamr@2:     from the base of the chunk's reserved region is not zero.
williamr@2: 
williamr@2:     @see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateInvalidBottom=164,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the internal function RLibrary::Init() when the function that 
williamr@2: 	constructs static data following a DLL load, leaves.
williamr@2: 	*/
williamr@2: 	EDllStaticConstructorLeave=165,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally, if a call to the static data destructors
williamr@2: 	following a library handle close, leaves.
williamr@2: 	*/
williamr@2: 	EDllStaticDestructorLeave=166,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised in a call to RAllocator::Close() when the number of
williamr@2: 	handles is greater than	the maximum allowed, RAllocator::EMaxHandles.
williamr@2: 	
williamr@2: 	@see RAllocator
williamr@2: 	*/
williamr@2: 	EAllocatorBadHandleCount=167,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the internal RHeap constructor when the offset value is invalid.
williamr@2: 	*/
williamr@2: 	ETHeapNewBadOffset=168,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Symbian internal function RHeap::Reduce() on failure.
williamr@2: 	*/
williamr@2: 	ETHeapReduceFailed=169,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Symbian internal function RHeap::Reset() on failure.
williamr@2: 	*/
williamr@2: 	ETHeapResetFailed=170,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     This panic is raised by the Symbian internal function RHeap::WalkCheckCell() on a 
williamr@2:     bad free cell size.
williamr@2: 	*/
williamr@2: 	ETHeapBadFreeCellSize=171,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2:     This panic is raised by the Symbian internal function RHeap::Initialise() on a
williamr@2:     bad alignment value.
williamr@2: 	*/
williamr@2: 	ETHeapNewBadAlignment=172,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ETHeapBadDebugOp=173,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when an unimplemented pure virtual function is called.
williamr@2: 	*/
williamr@2: 	EPureVirtualCalled=174,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a User::Leave() is called and there
williamr@2: 	is no TRAP frame.
williamr@2: 	*/
williamr@2: 	EUserLeaveWithoutTrap=175,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a mathematical function fails with an
williamr@2: 	unrecognized exception, i.e. one that is none of: KErrArgument,
williamr@2: 	KErrDivideByZero, KErrOverflow or KErrUnderflow.
williamr@2: 	*/
williamr@2: 	EMathUnknownError=176,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Symbian internal function RHeap::WalkCheckCell() on a 
williamr@2:     bad cell type.
williamr@2: 	*/
williamr@2: 	ETHeapWalkBadCellType=177,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when descriptors convert integers into text, and
williamr@2: 	an invalid radix is passed, i.e. a value that is not one 
williamr@2: 	of the TRadix enum values.
williamr@2: 	*/
williamr@2: 	EInvalidRadix=178,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when converting and appending numbers in descriptors,
williamr@2: 	and buffers are not aligned on even addresses.
williamr@2: 	
williamr@2:     This panic is raised in debug builds only.	
williamr@2: 	*/
williamr@2: 	EDes16PadAppendBadAlign=179,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EMsgQueueSizeInvalid=180,
williamr@2: 	
williamr@2: 	
williamr@2:     /**
williamr@2: 	@internalComponent
williamr@2: 	*/
williamr@2: 	EHuffmanTooManyCodes=181,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	@internalComponent
williamr@2: 	*/
williamr@2: 	EHuffmanInvalidCoding=182,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	@internalComponent
williamr@2: 	*/
williamr@2: 	EBadArrayFindMode=183,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to RNotifier::Notify(), the length of one or more of
williamr@2: 	the descriptors containing the displayable text is bigger than
williamr@2: 	the maximum TUint16 value.
williamr@2: 	*/
williamr@2: 	ENotifierTextTooLong=184,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to one of the functions:
williamr@2: 	TMonthName::Set()
williamr@2: 	TMonthNameAbb::Set()
williamr@2: 	TDayName::Set()
williamr@2: 	TDayNameAbb::Set()
williamr@2: 	
williamr@2: 	the month or day value is outside the permitted range of values.
williamr@2: 
williamr@2:     @see TMonthName
williamr@2:     @see TMonthNameAbb
williamr@2:     @see TDayName
williamr@2:     @see TDayNameAbb
williamr@2: 	*/
williamr@2: 	EBadLocaleParameter=185,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised internally by the descriptor formatting functions
williamr@2: 	during the handling of the variable parameter lists.
williamr@2: 	*/
williamr@2: 	EUnexpectedError3=186,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to TDes8::Expand(), either the length, or the maximum length,
williamr@2: 	or the pointer to the data is not an even number.
williamr@2: 	
williamr@2: 	@see TDes8
williamr@2: 	*/
williamr@2: 	EDes8ExpandOdd=187,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to TDes8::Collapse(), either the length, or the maximum length,
williamr@2: 	or the pointer to the data is not an even number.
williamr@2: 	
williamr@2: 	@see TDes8
williamr@2: 	*/
williamr@2: 	EDes8CollapseOdd=188,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	In a call to one of the TSecurityPolicy constructors, the specified
williamr@2: 	capability was found to be inavlid.
williamr@2: 
williamr@2: 	@see TCapability
williamr@2: 	*/
williamr@2: 	ECapabilityInvalid=189,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	In a call to TSecurityPolicy::CheckPolicy, the security policy was found to
williamr@2: 	be corrupt.
williamr@2: 
williamr@2: 	@see TSecurityPolicy
williamr@2: 	*/
williamr@2: 	ESecurityPolicyCorrupt=190,
williamr@2: 
williamr@2: 	
williamr@2: 	/**
williamr@2: 	In a call to TSecurityPolicy::TSecurityPolicy(TSecPolicyType aType), aType
williamr@2: 	was not one of ETypePass or ETypeFail.
williamr@2: 
williamr@2: 	@see TSecurityPolicy
williamr@2: 	*/
williamr@2: 	ETSecPolicyTypeInvalid=191,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised when constructing an RPointerArray or RArray if the
williamr@2: 	specified minimum growth step is less than or equal to zero or is greater
williamr@2: 	than 65535.
williamr@2:     
williamr@2:     @see RPointerArray
williamr@2:     @see RArray
williamr@2: 	*/
williamr@2: 	EBadArrayMinGrowBy=192,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when constructing an RPointerArray or RArray if the
williamr@2: 	specified exponential growth factor is less than or equal to 1 or is
williamr@2: 	greater than or equal to 128.
williamr@2:     
williamr@2:     @see RPointerArray
williamr@2:     @see RArray
williamr@2: 	*/
williamr@2: 	EBadArrayFactor=193,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised if code inside an __ASSERT_*_NO_LEAVE harness leaves.
williamr@2:     
williamr@2:     @see RPointerArray
williamr@2:     @see RArray
williamr@2: 	*/
williamr@2: 	EUnexpectedLeave=194,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	A function was used to grow a cell on the heap, but it did not grow as expected.
williamr@2: 	*/		
williamr@2: 	ETHeapCellDidntGrow=195,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	An attempt was made to install a Win32 SE handler not on the stack.
williamr@2: 
williamr@2: 	@see TWin32SEHTrap
williamr@2: 	*/
williamr@2: 	EWin32SEHandlerNotOnStack=196,
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when the caller of an API doesn't have the right capabilities to
williamr@2: 	call the specific API that raises this panic. Please consult the documentation for the
williamr@2: 	API in question to learn what capabilities you need to call it.
williamr@2: 	*/
williamr@2: 	EPlatformSecurityViolation=197,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if a NULL function pointer is passed in as the hash function
williamr@2: 	when constructing a hash table class.
williamr@2: 	*/
williamr@2: 	EHashTableNoHashFunc=198,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if a NULL function pointer is passed in as the identity
williamr@2: 	relation when constructing a hash table class.
williamr@2: 	*/
williamr@2: 	EHashTableNoIdentityRelation=199,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if a negative element size is specified when constructing
williamr@2: 	a hash table class.
williamr@2: 	*/
williamr@2: 	EHashTableBadElementSize=200,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if, when constructing a hash table class, the specified
williamr@2: 	key offset is inconsistent with the specified element size.
williamr@2: 	*/
williamr@2: 	EHashTableBadKeyOffset=201,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised in debug builds only if a deleted entry still remains after
williamr@2: 	a hash table reform. It should never occur, since it signifies an error in the
williamr@2: 	hash table implementation.
williamr@2: 	*/
williamr@2: 	EHashTableDeletedEntryAfterReform=202,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic should never occur since it signifies an error in the hash table
williamr@2: 	implementation.
williamr@2: 	*/
williamr@2: 	EHashTableBadGeneration=203,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic should never occur since it signifies an error in the hash table
williamr@2: 	implementation.
williamr@2: 	*/
williamr@2: 	EHashTableBadHash=204,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic should never occur since it signifies an error in the hash table
williamr@2: 	implementation.
williamr@2: 	*/
williamr@2: 	EHashTableEntryLost=205,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic should never occur since it signifies an error in the hash table
williamr@2: 	implementation.
williamr@2: 	*/
williamr@2: 	EHashTableCountWrong=206,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic should never occur since it signifies an error in the hash table
williamr@2: 	implementation.
williamr@2: 	*/
williamr@2: 	EHashTableEmptyCountWrong=207,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if, while attempting to step a hash table iterator to
williamr@2: 	the next entry, the iterator is found to point to an invalid table entry.
williamr@2: 	This will typically occur if elements have been removed from the hash table
williamr@2: 	without resetting the iterator.
williamr@2: 	*/
williamr@2: 	EHashTableIterNextBadIndex=208,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if, while interrogating the current position of a
williamr@2: 	hash table iterator, the iterator is found to point to an invalid table entry.
williamr@2: 	This will typically occur if elements have been added to or removed from
williamr@2: 	the hash table without resetting the iterator.
williamr@2: 	*/
williamr@2: 	EHashTableIterCurrentBadIndex=209,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if an invalid argument is passed to the Reserve() function
williamr@2: 	on any of the hash table classes.
williamr@2: 	*/
williamr@2: 	EHashTableBadReserveCount=210,
williamr@2: 
williamr@2: 	/**
williamr@2: 	The Win32 SE handler chain has been corrupted.
williamr@2: 
williamr@2: 	@see TWin32SEHTrap
williamr@2: 	*/
williamr@2: 	EWin32SEHChainCorrupt=211,
williamr@2: 
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised if an invalid argument is passed to the Reserve() function
williamr@2: 	on the RArray<T> or RPointerArray<T> classes.
williamr@2: 	*/
williamr@2: 	EArrayBadReserveCount=212,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised when attempting to set a new debug failure mode on 
williamr@2: 	a heap with an invalid argument.  For example, if aBurst > KMaxTUint6
williamr@2: 	when invoking __UHEAP_BURSTFAILNEXT when a RHeap object is used for
williamr@2: 	the user heap.
williamr@2: 
williamr@2: 	On the user side this is associated with the USER category; on the kernel side
williamr@2: 	this is associated with the KERN-HEAP category.
williamr@2: 
williamr@2: 	@see RAllocator::TAllocFail
williamr@2: 	*/
williamr@2: 	ETHeapBadDebugFailParameter = 213,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when an invalid chunk attribute has been passed to
williamr@2: 	the method RChunk::Create().
williamr@2: 	
williamr@2: 	@see RChunk
williamr@2: 	*/
williamr@2: 	EChkCreateInvalidAttribute = 214,
williamr@2: 
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when a TChunkCreateInfo object with an invalid version 
williamr@2: 	number has been passed to the method RChunk::Create().
williamr@2: 
williamr@2: 	@see RChunk
williamr@2: 	@see TChunkCreateInfo
williamr@2: 	*/
williamr@2: 	EChkCreateInvalidVersion = 215,
williamr@4: 
williamr@4: 	
williamr@4: 	/**
williamr@4: 	This panic is raised when an invalid flag is set in the aMode parameter
williamr@4: 	to UserHeap::ChunkHeap().
williamr@4: 
williamr@4: 	@see TChunkHeapCreateMode
williamr@4: 	*/
williamr@4: 	EHeapCreateInvalidMode = 216,
williamr@4: 
williamr@4: 
williamr@4: 	/**
williamr@4: 	This panic is raised when a RReadWriteLock is created with an invalid
williamr@4: 	priority.
williamr@4: 
williamr@4: 	@see RReadWriteLock
williamr@4: 	*/
williamr@4: 	EReadWriteLockInvalidPriority = 217,
williamr@4: 
williamr@4: 
williamr@4: 	/**
williamr@4: 	This panic is raised when a RReadWriteLock is closed with readers/writers
williamr@4: 	still pending.
williamr@4: 
williamr@4: 	@see RReadWriteLock
williamr@4: 	*/
williamr@4: 	EReadWriteLockStillPending = 218,
williamr@4: 
williamr@4: 
williamr@4: 	/**
williamr@4: 	This panic is raised when a RReadWriteLock is requested with too many
williamr@4: 	readers or pending readers/writers.
williamr@4: 
williamr@4: 	@see RReadWriteLock
williamr@4: 	*/
williamr@4: 	EReadWriteLockTooManyClients = 219,
williamr@4: 
williamr@4: 
williamr@4: 	/**
williamr@4: 	This panic is raised when a RReadWriteLock is unlocked but the lock flags
williamr@4: 	are inconsistent, eg read and write lock held or no lock held.
williamr@4: 
williamr@4: 	@see RReadWriteLock
williamr@4: 	*/
williamr@4: 	EReadWriteLockBadLockState = 220,
williamr@4: 
williamr@4: 
williamr@4: 	/**
williamr@4: 	This debug-only panic is raised if the lock has been given to a reader
williamr@4: 	more than a thousand times in a row, while there is a pending writer.
williamr@4: 	It is intended to give a debug indication that writer starvation might be
williamr@4: 	happening.
williamr@4: 
williamr@4: 	@see RReadWriteLock
williamr@4: 	*/
williamr@4: 	EReadWriteLockWriterStarvation = 221,
williamr@4: 
williamr@4: 	/**
williamr@4:     It is raised by TRawEvent::Repeats() when
williamr@4:     the event is not a key repeat event.
williamr@4:     
williamr@4:    	This panic is raised in debug builds only.
williamr@4: 	*/
williamr@4: 	ETEventNotKeyRepeatType=222,
williamr@4: 
williamr@4: 	/**
williamr@4: 	This panic is raised when a corrupt surrogate is found in a descriptor.
williamr@4: 	*/
williamr@4: 	ECorruptSurrogateFound = 223,
williamr@2: 	};
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: /**
williamr@2: Defines a set of panic numbers associated with the E32USER-CBASE panic category.
williamr@2: 
williamr@2: Panics with this category are raised in user side code by member functions of
williamr@2: CBase derived classes that reside in euser.dll. Typically, they are caused by
williamr@2: passing bad or contradictory values to class constructors or member functions.
williamr@2: */
williamr@2: enum TBasePanic
williamr@2:     {
williamr@2:     
williamr@2:     /**
williamr@2:     This panic is raised by the Set() member function of CAsyncCallBack,
williamr@2:     if this active object is already active when the function is called.
williamr@2:     
williamr@2:     @see CAsyncCallBack
williamr@2:     */
williamr@2: 	ECAsyncCBIsActive=1,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Call() member function of CAsyncOneShot,
williamr@2: 	if the active object has not already been added to the active scheduler.
williamr@2: 	
williamr@2: 	This panic is raised in debug builds only.
williamr@2: 	
williamr@2: 	@see CAsyncOneShot
williamr@2: 	*/
williamr@2: 	ECAsyncOneShotNotAdded=2,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised during construction of a dynamic buffer,
williamr@2: 	a CBufFlat or a CBufSeg object, when the value of the granularity passed
williamr@2: 	to the constructors is negative.
williamr@2: 	
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufExpandSizeNegative=3,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when reading from a dynamic buffer,
williamr@2: 	a CBufFlat or a CBufSeg, using the Read() member function.
williamr@2: 	
williamr@2: 	It is caused by attempting to read beyond the end of the buffer.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufReadBeyondEnd=4,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when writing to a dynamic buffer,
williamr@2: 	a CBufFlat or a CBufSeg, using the Write() member function.
williamr@2: 	
williamr@2: 	It is caused by attempting to write beyond the end of the buffer.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufWriteBeyondEnd=5,
williamr@2: 	
williamr@2: 	
williamr@2: 	/** 
williamr@2: 	This panic is raised when reading from a dynamic buffer,
williamr@2: 	a CBufFlat or a CBufSeg, using the Read() member function.
williamr@2: 	
williamr@2: 	It is caused by specifying a negative length for the amount of data
williamr@2: 	to be read.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufReadLengthNegative=6,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when writing to a dynamic buffer,
williamr@2: 	a CBufFlat or a CBufSeg, using the Write() member function.
williamr@2: 	
williamr@2: 	It is caused by specifying a negative length for the amount of data
williamr@2: 	to be written.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufWriteLengthNegative=7,
williamr@2: 
williamr@2: 
williamr@2:     /**
williamr@2:     This panic is raised when inserting data into a dynamic buffer,
williamr@2:     a CBufFlat or a CBufSeg, using the InsertL() member function or when
williamr@2:     inserting an uninitialized region into the dynamic buffer using
williamr@2:     the ExpandL() member function.
williamr@2:     
williamr@2:     It is caused by passing a negative length value to these functions.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2:     */
williamr@2: 	EBufInsertLengthNegative=8,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when inserting data into a dynamic buffer,
williamr@2: 	a CBufFlat or a CBufSeg, using the InsertL() member function.
williamr@2: 	
williamr@2: 	It is caused when the variant of InsertL(), which takes a pointer to TAny
williamr@2: 	is passed a NULL pointer value.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufInsertBadPtr=9,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when specifying the minimum amount of space
williamr@2: 	that a flat dynamic buffer, a CBufFlat, should occupy using
williamr@2: 	the SetReserveL() member function.
williamr@2: 	
williamr@2: 	It is caused when the size value passed to the function is negative.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	*/
williamr@2: 	EBufFlatReserveNegative=10,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised when specifying the minimum amount of space
williamr@2: 	that a flat dynamic buffer, a CBufFlat, should occupy using
williamr@2: 	the SetReserveL() member function.
williamr@2: 	
williamr@2: 	It is caused when the size value passed to the function is less than
williamr@2: 	the current size of the buffer.
williamr@2: 
williamr@2: 	@see CBufFlat
williamr@2: 	*/
williamr@2: 	EBufFlatReserveSetTooSmall=11,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Delete(), Ptr(), BackPtr() member functions
williamr@2: 	of a flat dynamic buffer, a CBufFlat; the panic can also be raised by
williamr@2: 	InsertL() and ExpandL().
williamr@2: 	
williamr@2: 	It is caused when the position value passed to these functions is either
williamr@2: 	negative or represents a position beyond the end of the current buffer.
williamr@2: 	
williamr@2: 	@see CBufFlat
williamr@2: 	*/
williamr@2: 	EBufFlatPosOutOfRange=12,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Delete() member function of
williamr@2: 	a flat dynamic buffer, a CBufFlat.
williamr@2: 	
williamr@2: 	It is caused when the combination of position and length values passed
williamr@2: 	to the function implies an attempt to delete data beyond the end of
williamr@2: 	the flat buffer.
williamr@2: 
williamr@2:    	@see CBufFlat
williamr@2: 	*/
williamr@2: 	EBufFlatDeleteBeyondEnd=13,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Delete(), Ptr(), BackPtr() member functions
williamr@2: 	of a segmented dynamic buffer, a CBufSeg); the panic can also be raised
williamr@2: 	by InsertL() and ExpandL().
williamr@2: 	
williamr@2: 	It is caused when the position value passed to these functions is either
williamr@2: 	negative or represents a position beyond the end of the current buffer.
williamr@2: 
williamr@2:    	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufSegPosOutOfRange=14,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Delete() member function of a segmented dynamic
williamr@2: 	buffer, a CBufSeg.
williamr@2: 	
williamr@2: 	It is caused when the combination of position and length values passed to
williamr@2: 	the function implies an attempt to delete data beyond the end of
williamr@2: 	the segmented buffer.
williamr@2: 
williamr@2:    	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufSegDeleteBeyondEnd=15,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the InsertL(), Delete(), Ptr() and BackPtr() member
williamr@2: 	functions as implemented for segmented buffers, CBufSeg, when
williamr@2: 	the offset within a segment, where data is to be inserted or removed,
williamr@2: 	is greater than the buffer granularity.
williamr@2: 
williamr@2:     This panic is raised in debug builds only.
williamr@2:     
williamr@2:   	@see CBufSeg
williamr@2: 	*/
williamr@2: 	EBufSegSetSBO=16,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructors of arrays of fixed length objects
williamr@2: 	as represented, for example, by the classes CArrayFixFlat, CArrayFixSeg,
williamr@2: 	and CArrayFixFlat<TAny>.
williamr@2: 	
williamr@2: 	It is caused when the record length is either negative or zero. The record
williamr@2: 	length is either explicitly specified, as in the case of
williamr@2: 	the CArrayFixFlat<TAny> class, or is implied by the length of the template
williamr@2: 	class as in the case of the CArrayFixFlat class.
williamr@2: 	
williamr@2: 	@see CArrayFixFlat
williamr@2: 	@see CArrayFixSeg
williamr@2: 	*/
williamr@2: 	EArrayFixInvalidLength=17,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructors of arrays of fixed length objects
williamr@2: 	as represented, for example, by the classes: CArrayFixFlat and CArrayFixSeg.
williamr@2: 	
williamr@2: 	It is caused when the granularity passed to the constructors is
williamr@2: 	either negative or zero.
williamr@2: 
williamr@2: 	@see CArrayFixFlat
williamr@2: 	@see CArrayFixSeg
williamr@2: 	*/
williamr@2: 	EArrayFixInvalidGranularity=18,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructors of arrays of variable length
williamr@2: 	objects as represented, for example, by the classes: CArrayVarFlat
williamr@2: 	and CArrayVarSeg.
williamr@2: 	
williamr@2: 	It is caused when the granularity passed to the constructors is either
williamr@2: 	negative or zero.
williamr@2: 
williamr@2: 	@see CArrayFixFlat
williamr@2: 	@see CArrayFixSeg
williamr@2: 	*/
williamr@2: 	EArrayVarInvalidGranularity=19,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructors of packed arrays as represented,
williamr@2: 	for example, by the class CArrayPakFlat.
williamr@2: 	
williamr@2: 	It is caused when the granularity passed to the constructors is either
williamr@2: 	negative or zero.
williamr@2: 
williamr@2: 	@see CArrayPakFlat
williamr@2: 	*/
williamr@2: 	EArrayPakInvalidGranularity=20,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by any operation which accesses an element of an array
williamr@2: 	by explicit reference to an index number, for example, the Delete(),
williamr@2: 	InsertL() and At() member functions or the operator Operator[].
williamr@2: 	
williamr@2: 	It is caused by specifying an index value which is either negative,
williamr@2: 	or is greater than or equal to the number of objects currently within the array.
williamr@2: 	*/
williamr@2: 	EArrayIndexOutOfRange=21,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when deleting contiguous elements from an array of
williamr@2: 	fixed length objects (derived from CArrayFixBase) using the Delete()
williamr@2: 	member function.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of contiguous elements as
williamr@2: 	a zero or negative value.
williamr@2: 	*/
williamr@2: 	EArrayCountNegative=22,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when inserting contiguous elements into an array
williamr@2: 	of fixed length objects (derived from CArrayFixBase) using the
williamr@2: 	InsertL() member function.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of contiguous elements as
williamr@2: 	a zero or negative value.
williamr@2: 	*/
williamr@2: 	EArrayCountNegative2=23,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when resizing an array of fixed length objects
williamr@2: 	(derived from CArrayFixBase) using the ResizeL() member function.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of contiguous elements as a zero
williamr@2: 	or negative value.
williamr@2: 	*/
williamr@2: 	EArrayCountNegative3=24,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when deleting contiguous elements from an array of
williamr@2: 	variable length objects (derived from CArrayVarBase) using the Delete()
williamr@2: 	member function.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of contiguous elements as a zero
williamr@2: 	or negative value.
williamr@2: 	*/
williamr@2: 	EArrayCountNegative4=25,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when deleting contiguous elements from
williamr@2: 	a packed array (derived from CArrayPakBase) using the Delete()
williamr@2: 	member function.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of contiguous elements as
williamr@2: 	a zero or negative value.
williamr@2: 	*/
williamr@2: 	EArrayCountNegative5=26,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when reserving space in flat arrays of
williamr@2: 	fixed length objects, the CArrayFixFlat,CArrayFixFlat<TAny>
williamr@2: 	and CArrayPtrFlat classes, using the SetReserveL() member function.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of elements, for which space is to be
williamr@2: 	reserved, as less than the current number of elements in the array.
williamr@2: 	*/
williamr@2:     EArrayReserveTooSmall=27,
williamr@2:     
williamr@2:     
williamr@2: 	/**
williamr@2: 	This panic is raised when inserting or appending replicated 
williamr@2: 	elements to the arrays of fixed length objects CArrayFixFlat and
williamr@2: 	CArrayFixSeg using the InsertL() or AppendL() functions.
williamr@2: 	
williamr@2: 	It is caused by specifying the number of replicas as negative or zero.
williamr@2:     */
williamr@2: 	EArrayReplicasNegative=28,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when deleting elements from a fixed length, variable
williamr@2: 	length or packed array (derived from CArrayFixBase, CArrayVarBase
williamr@2: 	and CArrayPakBase) using the Delete() function.
williamr@2: 	
williamr@2: 	It is caused when the specification of the position of the first element
williamr@2: 	to be deleted and the number of contiguous elements to be deleted refers
williamr@2: 	to elements which are outside the bounds of the array.
williamr@2: 	*/
williamr@2: 	EArrayCountTooBig=29,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when inserting into, appending onto, expanding or
williamr@2: 	extending a variable length array or a packed array (i.e. arrays derived
williamr@2: 	from CArrayVar or CArrayPak) using the InsertL(), AppendL(), ExpandL()
williamr@2: 	or ExtendL() functions respectively.
williamr@2: 	
williamr@2: 	It is caused by specifying the length of the element as a negative value.
williamr@2: 	*/
williamr@2: 	EArrayLengthNegative=30,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EArrayReaderCountVirtual=31,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EArrayReaderAtVirtual=32,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the destructor of a CObject.
williamr@2: 	
williamr@2: 	It is caused when an attempt is made to delete the CObject
williamr@2: 	when the reference count is not zero.
williamr@2: 
williamr@2:     @see CObject
williamr@2: 	*/
williamr@2: 	EObjObjectStillReferenced=33,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Close() member function of a CObject.
williamr@2: 	
williamr@2: 	It is caused when the reference count is negative.
williamr@2: 	*/
williamr@2: 	EObjNegativeAccessCount=34,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Remove() member function of an object
williamr@2: 	container, a CObjectCon.
williamr@2: 	
williamr@2: 	It is caused when the CObject to be removed from the container is
williamr@2: 	not contained by the container.
williamr@2: 	
williamr@2:     @see CObject
williamr@2: 	*/
williamr@2: 	EObjRemoveObjectNotFound=35,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Remove() member function of a container
williamr@2: 	index, a CObjectConIx.
williamr@2: 	
williamr@2: 	It is caused when the object container, a CObjectCon, to be removed from
williamr@2: 	the index is not contained by the index.
williamr@2: 	*/
williamr@2: 	EObjRemoveContainerNotFound=36,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Remove() member function of an object index,
williamr@2: 	a CObjectIx.
williamr@2: 	
williamr@2: 	It is caused when the handle passed to the Remove() function does not
williamr@2: 	represent a CObject known to the object index.
williamr@2: 	*/
williamr@2: 	EObjRemoveBadHandle=37,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the At(), FindByName() and FindByFullName() member
williamr@2: 	functions of an object container, a CObjectCon.
williamr@2: 	
williamr@2: 	It is caused when the unique ID as derived from the handle is not the same 
williamr@2: 	as the unique ID held by the object container.
williamr@2: 	*/
williamr@2: 	EObjFindBadHandle=38,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the At() member function of an object container,
williamr@2: 	a CObjectCon.
williamr@2: 	
williamr@2: 	It is caused when the index represented by the handle is outside
williamr@2: 	the permitted range. In effect, the handle is bad.
williamr@2: 	*/
williamr@2: 	EObjFindIndexOutOfRange=39,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the destructor of an active object, a CActive.
williamr@2: 	
williamr@2: 	It is caused by an attempt to delete the active object while it still
williamr@2: 	has a request outstanding.
williamr@2: 	*/
williamr@2: 	EReqStillActiveOnDestruct=40,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Add() member function of an active scheduler,
williamr@2: 	a CActiveScheduler.
williamr@2: 	
williamr@2: 	It is caused by an attempt to add an active object to the active scheduler
williamr@2: 	when it has already been added to the active scheduler
williamr@2: 	*/
williamr@2: 	EReqAlreadyAdded=41,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the SetActive() member function of an active
williamr@2: 	object, a CActive.
williamr@2: 	
williamr@2: 	It is caused by an attempt to flag the active object
williamr@2: 	as active when it is already active, i.e. a request is still outstanding.
williamr@2: 	*/
williamr@2: 	EReqAlreadyActive=42,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Install() member function of an active
williamr@2: 	scheduler, a CActiveScheduler.
williamr@2: 	
williamr@2: 	It is caused by attempting to install this active scheduler as the current
williamr@2: 	active scheduler when there is already a current active scheduler;
williamr@2: 	i.e. an active scheduler has already been installed.
williamr@2: 	*/
williamr@2: 	EReqManagerAlreadyExists=43,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Start(), Stop() and Add() member functions
williamr@2: 	of an active scheduler, a CActiveScheduler.
williamr@2: 	
williamr@2: 	It is caused by attempting to start or stop an active scheduler or by
williamr@2: 	attempting to add an active object, a CActive, to the active scheduler.
williamr@2: 	*/
williamr@2: 	EReqManagerDoesNotExist=44,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Stop() member function of an active scheduler,
williamr@2: 	a CActiveScheduler.
williamr@2: 
williamr@2: 	Calling Stop() terminates the wait loop started by the most recent
williamr@2: 	call to Start(). The panic is caused by a call to Stop() which is not
williamr@2: 	matched by a corresponding call to Start().
williamr@2: 	*/
williamr@2: 	EReqTooManyStops=45,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by an active scheduler, a CActiveScheduler.
williamr@2: 	
williamr@2: 	It is caused by a stray signal.
williamr@2: 	*/
williamr@2: 	EReqStrayEvent=46,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Error() virtual member function of an active
williamr@2: 	scheduler, a CActiveScheduler.
williamr@2: 	
williamr@2: 	This function is called when an active object’s RunL() function leaves.
williamr@2: 	Applications always replace the Error() function in a class derived from
williamr@2: 	CActiveScheduler; the default behaviour provided by CActiveScheduler raises
williamr@2: 	this panic.
williamr@2: 	*/
williamr@2: 	EReqActiveObjectLeave=47,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Add() member function of an active scheduler,
williamr@2: 	a CActiveScheduler, when a NULL pointer is passed to the function.
williamr@2: 	*/
williamr@2: 	EReqNull=48,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the SetActive() and Deque() member functions of
williamr@2: 	an active object, a CActive.
williamr@2: 	
williamr@2: 	It is raised if the active object has not been added to the active scheduler.
williamr@2: 	*/
williamr@2: 	EActiveNotAdded=49,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the SetPriority() member function of an active
williamr@2: 	object, a CActive.
williamr@2: 	
williamr@2: 	It is caused by an attempt to change the priority of the active object 
williamr@2: 	while it is active, i.e. while a request is outstanding).
williamr@2: 	*/
williamr@2: 	ESetPriorityActive=50,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the At(), After() and Lock() member functions of
williamr@2: 	the CTimer active object.
williamr@2: 	
williamr@2: 	It is caused by an attempt to request a timer event when the CTimer active
williamr@2: 	object has not been added to the active scheduler.
williamr@2: 	*/
williamr@2: 	ETimNotAdded=51,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Start() member function of the periodic timer
williamr@2:     active object, a CPeriodic, when a negative time interval is passed to
williamr@2:     the function.
williamr@2: 	*/
williamr@2: 	ETimIntervalNegativeOrZero=52,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Start() member function of the periodic 
williamr@2: 	timer active object, a CPeriodic, when a negative delay time interval
williamr@2: 	is passed to the function.
williamr@2: 	*/
williamr@2: 	ETimDelayNegative=53,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EUnusedBasePanic1=54,  // Unused
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ESvrNoServerName=55,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the New() and NewL() member functions of
williamr@2: 	CBitMapAllocator when a negative or zero size is passed to them.
williamr@2: 	*/
williamr@2: 	EBmaSizeLessOrEqualToZero=56,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Free(TInt aPos) member function of
williamr@2: 	CBitMapAllocator when a position value is passed which is out of bounds.
williamr@2: 	*/
williamr@2: 	EBmaFreeOutOfRange=57,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the IsFree(TInt aPos) member function of
williamr@2: 	CBitMapAllocator when a position value is passed which is out of bounds.
williamr@2: 	*/
williamr@2: 	EBmaAllocOutOfRange=58,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the AllocFromTopFrom(TInt aPos) member function 
williamr@2: 	of CBitMapAllocator when a position value is passed which is out of bounds.
williamr@2: 	*/
williamr@2: 	EBmaAllocFromTopFromOutOfRange=59,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EBmaFreeTooMany=60,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	EBmaFreeNotAllocated=61,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the AllocAt() member function of CBitMapAllocator
williamr@2: 	when the implied position has already been allocated.
williamr@2: 	*/
williamr@2: 	EBmaAllocAtAlreadyAllocated=62,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised as a result of a call to the Pop() and PopAndDestroy()
williamr@2: 	static member functions of the CleanupStack class.
williamr@2: 	
williamr@2: 	The panic occurs when TRAPs have been nested and an attempt is made to pop too
williamr@2: 	many items from the cleanup stack for the current nest level.
williamr@2: 	*/
williamr@2: 	EClnPopAcrossLevels=63,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised as a result of a call to the Pop() and PopAndDestroy()
williamr@2: 	static member functions of the CleanupStack class.
williamr@2: 	
williamr@2: 	The panic occurs when attempt is made to pop more items from the cleanup
williamr@2: 	stack than are on the cleanup stack.
williamr@2: 	*/
williamr@2: 	EClnPopUnderflow=64,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The panic is raised as a result of a call to the Pop() and PopAndDestroy()
williamr@2: 	static member functions of the CleanupStack class.
williamr@2: 	
williamr@2: 	The panic occurs when an attempt is made to pop more items from the cleanup
williamr@2: 	stack than are on the cleanup stack.
williamr@2: 	*/
williamr@2: 	EClnLevelUnderflow=65,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if an attempt is being made to insert a cleanup item
williamr@2: 	into a position on the cleanup stack reserved for marking the current TRAP
williamr@2: 	nest level.
williamr@2: 	
williamr@2: 	In practice this error occurs if the call to CleanupStack::PushL() happens
williamr@2: 	when there has been no call to TRAP().
williamr@2: 	*/
williamr@2: 	EClnPushAtLevelZero=66,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when building a TCleanupStackItem which is to be added
williamr@2: 	to the cleanup stack.
williamr@2: 	
williamr@2: 	The building of the TCleanupStackItem needs a TCleanupItem and this has
williamr@2: 	been constructed with a NULL cleanup operation (a TCleanupOperation).
williamr@2: 	*/
williamr@2: 	EClnNoCleanupOperation=67,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if there are no free slots available on the cleanup
williamr@2: 	stack to insert a cleanup item.
williamr@2: 	*/
williamr@2: 	EClnNoFreeSlotItem=68,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised if no trap handler has been installed.
williamr@2: 	
williamr@2: 	In practice, this occurs if CTrapCleanup::New() has not been called
williamr@2: 	before using the cleanup stack.
williamr@2: 	*/
williamr@2: 	EClnNoTrapHandlerInstalled=69,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised as a result of a call to the versions of the
williamr@2: 	Pop() and PopAndDestroy() static member functions of the CleanupStack class
williamr@2: 	which take an explicit count of the items to be popped.
williamr@2: 	
williamr@2: 	The panic is caused by passing a negative value for the number of items
williamr@2: 	to be popped.
williamr@2: 	*/
williamr@2: 	EClnPopCountNegative=70,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised when TRAPs have been nested and an attempt is made to
williamr@2: 	exit from a TRAP nest level before all the cleanup items belonging to that
williamr@2: 	level have been popped off the cleanup stack.
williamr@2: 	*/
williamr@2: 	EClnLevelNotEmpty=71,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the constructor of the circular buffer base class,
williamr@2: 	a CCirBufBase, when the size value passed is zero or negative.
williamr@2: 	*/
williamr@2: 	ECircItemSizeNegativeOrZero=72,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by a call to the SetLengthL() member function of 
williamr@2: 	the circular buffer base class, a CCirBufBase, by passing a length
williamr@2: 	value which is zero or negative.
williamr@2: 	*/
williamr@2: 	ECircSetLengthNegativeOrZero=73,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by a call to the Add() member function of a 
williamr@2: 	circular buffer, a CCirBuf when the pointer to the item
williamr@2: 	to be added is NULL.
williamr@2: 	*/
williamr@2: 	ECircNoBufferAllocated=74,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by a call to the Add() member function of a
williamr@2: 	circular buffer, a CCirBuf when the number of items to be added
williamr@2: 	is zero or negative.
williamr@2: 	*/
williamr@2: 	ECircAddCountNegative=75,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by a call to the Remove() member function of
williamr@2: 	a circular buffer, a CCirBuf when the number of items to be removed is zero
williamr@2: 	or negative.
williamr@2: 	*/
williamr@2: 	ECircRemoveCountNegative=76,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raise by CConsoleBase::Getch() when the asynchronous request
williamr@2: 	that fetches the character completes with a completion code that
williamr@2: 	is not KErrNone.
williamr@2: 	*/
williamr@2: 	EConsGetchFailed=77,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ESecurityData=78,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the Alloc() member function 
williamr@2: 	of CBitMapAllocator if the object is in an inconsistnt state.
williamr@2: 	*/
williamr@2: 	EBmaInconsistentState=79,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the AllocFrom() member function 
williamr@2: 	of CBitMapAllocator if the position passed into it is outside its valid
williamr@2: 	range, i.e. is negative or is greater than or equal to the size.
williamr@2: 	*/
williamr@2: 	EBmaAllocFromOutOfRange=80,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Alloc() member function 
williamr@2: 	of CBitMapAllocator if the count value passed into it
williamr@2: 	is not positive.
williamr@2: 	*/
williamr@2: 	EBmaAllocCountNegative=81,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the AllocAligned() member function 
williamr@2: 	of CBitMapAllocator if the alignment value passed into it
williamr@2: 	is negative or greater than or equal to 32.
williamr@2: 	*/
williamr@2: 	EBmaAllAlgnOutOfRange=82,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the AllocAlignedBlock() member function 
williamr@2: 	of CBitMapAllocator if the alignment value passed into it
williamr@2: 	is negative or greater than or equal to 32.
williamr@2: 	*/
williamr@2: 	EBmaAllAlgnBOutOfRange=83,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by the AllocAt() member function 
williamr@2: 	of CBitMapAllocator if the position value passed into it
williamr@2: 	is outside the permitted range.
williamr@2: 	*/
williamr@2: 	EBmaAllocBlkOutOfRange=84,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the IsFree() member function 
williamr@2: 	of CBitMapAllocator if the position value passed into it
williamr@2: 	is outside the permitted range.
williamr@2: 	*/
williamr@2: 	EBmaChkBlkOutOfRange=85,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Free() member function 
williamr@2: 	of CBitMapAllocator if the position value passed into it
williamr@2: 	is outside the permitted range.
williamr@2: 	*/
williamr@2: 	EBmaFreeBlkOutOfRange=86,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Free() member function 
williamr@2: 	of CBitMapAllocator if attempting to free a block that is not allocated.
williamr@2: 	*/
williamr@2: 	EBmaFreeBlkNotAllocated=87,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the Free() member function 
williamr@2: 	of CBitMapAllocator if attempting to allocate a block that is not free.
williamr@2: 	*/
williamr@2: 	EBmaAllocBlkNotFree=88,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by call to the Replace() member function of 
williamr@2: 	CActiveScheduler when the replacement active scheduler is the same as
williamr@2: 	the existing active scheduler.
williamr@2: 	*/
williamr@2: 	EActiveSchedulerReplacingSelf=89,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	The panic is raised as a result of a call to the Pop() and PopAndDestroy()
williamr@2: 	static member functions of the CleanupStack class.
williamr@2: 	
williamr@2: 	The panic occurs when an the item to be popped is not the expected item.
williamr@2: 	*/
williamr@2: 	EClnCheckFailed=90,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	This panic is raised by CActiveSchedulerWait::Start()
williamr@2:     when the CActiveSchedulerWait has already been started.
williamr@2:     
williamr@2:     @see CActiveSchedulerWait
williamr@2: 	*/
williamr@2: 	EActiveSchedulerWaitAlreadyStarted=91,
williamr@2: 	
williamr@2: 	
williamr@2: 	/** 
williamr@2: 	This panic is raised by CActiveSchedulerWait::AsyncStop() and
williamr@2: 	CActiveSchedulerWait::CanStopNow()
williamr@2: 	when the CActiveSchedulerWait has not been started.
williamr@2: 	*/
williamr@2: 	EActiveSchedulerWaitNotStarted=92,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised during construction of a CAsyncOneShot if the attempt
williamr@2: 	to open a handle to the current thread fails.
williamr@2: 	*/
williamr@2: 	EAsyncOneShotSetupFailed=93,
williamr@2: 	
williamr@2: 	
williamr@2: 	/**
williamr@2: 	Not used.
williamr@2: 	*/
williamr@2: 	ESvrBadSecurityPolicy=94,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if CPolicyServer::CustomSecurityCheckL(),
williamr@2: 	or CPolicyServer::CustomFailureActionL() are called.
williamr@2: 	
williamr@2: 	Odds are that you forgot to implement one of these two functions in your
williamr@2: 	CPolicyServer derived Server.
williamr@2: 	*/
williamr@2: 	EPolSvrCallingBaseImplementation=95,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised in debug builds by the CPolicyServer constructor if
williamr@2: 	TPolicy::iRanges[0] does not have a value of 0.
williamr@2: 	*/
williamr@2: 	EPolSvr1stRangeNotZero=96,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised in debug builds by the CPolicyServer constructor if
williamr@2: 	each element of TPolicy::iRanges is not greater than the previous.
williamr@2: 	*/
williamr@2: 	EPolSvrRangesNotIncreasing=97,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised in debug builds by the CPolicyServer constructor
williamr@2: 	unless every element in TPolicy::iElementsIndex is valid.  Every element,
williamr@2: 	x, must not be one of (ESpecialCaseHardLimit <= x <= ESpecialCaseLimit) in
williamr@2: 	order to be valid.  See CPolicyServer::TSpecialCase for more information.
williamr@2: 	*/
williamr@2: 	EPolSvrElementsIndexValueInvalid=98,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised in debug builds by the CPolicyServer constructor if
williamr@2: 	TPolicy::iOnConnect has an invalid value. iOnConnect must not be one of
williamr@2: 	(ESpecialCaseHardLimit <= x <= ESpecialCaseLimit) in order to be valid.
williamr@2: 	See CPolicyServer::TSpecialCase for more information.
williamr@2: 	*/
williamr@2: 	EPolSvrIOnConnectValueInvalid=99,
williamr@2: 	
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised if CPolicyServer::iPolicy is found to be invalid for
williamr@2: 	an unkown reason.  There is a good chance that your policy would cause the
williamr@2: 	server to panic with one of the above specific policy panic codes if you
williamr@2: 	run it in debug mode.  See the policy server documentation for a
williamr@2: 	description of a valid policy.
williamr@2: 	*/
williamr@2: 	EPolSvrPolicyInvalid=100,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	The value returned from CustomSecurityCheckL or CustomFailureActionL was
williamr@2: 	invalid.  See CPolicyServer::TCustomResult for a list of valid results.
williamr@2: 	*/
williamr@2: 	EPolSvrInvalidCustomResult=101,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised in debug builds by the CPolicyServer constructor if
williamr@2: 	TPolicy.iRangeCount is not greater than 0.  All policies given to the
williamr@2: 	policy server must contain at least 1 policy. 
williamr@2: 	*/
williamr@2: 	EPolSvrIRangeCountInvalid=102,
williamr@2: 
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by the policy server framework if a message fails a
williamr@2: 	policy check (custom or not) and the associated action is EPanicClient.
williamr@2: 	*/
williamr@2: 	EPolSvrActionPanicClient=103,
williamr@2: 
williamr@2: 	/**
williamr@2: 	This panic is raised by CObjectIx class methods if inconsistent data condition occurs
williamr@2: 	It can appear in debug build only.
williamr@2: 	*/
williamr@2: 	EObjInconsistent=104,
williamr@4: 	
williamr@4: 	/**
williamr@4: 	This panic is raised as a result of a call to the Pop() and PopAndDestroy()
williamr@4: 	static member functions of the CleanupStack class.
williamr@4: 	
williamr@4: 	The panic occurs when the cleanup operation of a popped item modifies the 
williamr@4: 	cleanup stack. In such a case, the function cannot guarantee that the correct 
williamr@4: 	items will be popped.
williamr@4: 	*/
williamr@4: 	EClnStackModified=105,
williamr@2: 
williamr@4: 	/**
williamr@4: 	This panic is raised as a result of a call to CServer2::SetPinClientDescriptors() after
williamr@4: 	CServer2::Start() has been invoked on a CServer2 object.
williamr@4: 	*/
williamr@4: 	ECServer2InvalidSetPin = 106,
williamr@2:     };
williamr@2: 
williamr@2: #endif