sl@0: // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // e32\include\u32hal.h sl@0: // sl@0: // WARNING: This file contains some APIs which are internal and are subject sl@0: // to change without notice. Such APIs should therefore not be used sl@0: // outside the Kernel and Hardware Services package. sl@0: // sl@0: sl@0: #ifndef __U32HAL_H__ sl@0: #define __U32HAL_H__ sl@0: sl@0: #include sl@0: sl@0: // sl@0: // Classes used for in functions sl@0: // sl@0: sl@0: /** sl@0: Used for TVariantInfoV01::iLedCapabilities sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: const TUint KLedMaskRed1=0x00000001; sl@0: sl@0: /** sl@0: Used for TVariantInfoV01::iLedCapabilities sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: const TUint KLedMaskGreen1=0x00000002; sl@0: sl@0: /** sl@0: Used for TVariantInfoV01::iLedCapabilities sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: const TUint KLedMaskYellow1=0x00000004; sl@0: sl@0: /** sl@0: Used for TSupplyInfoV1.iFlags sl@0: @publishedPartner sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: const TUint KSupplyFlagSoundWarning=0x00000001; sl@0: sl@0: /** sl@0: Used for TSupplyInfoV1.iFlags sl@0: @publishedPartner sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: const TUint KSupplyFlagBacklightWarning=0x00000002; sl@0: sl@0: /** sl@0: Used for TSupplyInfoV1.iFlags sl@0: @publishedPartner sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: const TUint KSupplyFlagTimeChanged=0x80000000; sl@0: sl@0: /** sl@0: @internalComponent sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: class TClearSetMask sl@0: { sl@0: public: sl@0: TUint iClearMask; sl@0: TUint iSetMask; sl@0: }; sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: enum TSupplyStatus sl@0: { sl@0: EZero,EVeryLow,ELow,EGood sl@0: }; sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: class TSupplyInfoV1 sl@0: { sl@0: public: sl@0: SInt64 iMainBatteryInsertionTime; sl@0: TSupplyStatus iMainBatteryStatus; sl@0: SInt64 iMainBatteryInUseMicroSeconds; sl@0: TInt iCurrentConsumptionMilliAmps; sl@0: TInt iMainBatteryConsumedMilliAmpSeconds; sl@0: TInt iMainBatteryMilliVolts; sl@0: TInt iMainBatteryMaxMilliVolts; sl@0: TSupplyStatus iBackupBatteryStatus; sl@0: TInt iBackupBatteryMilliVolts; sl@0: TInt iBackupBatteryMaxMilliVolts; sl@0: TBool iExternalPowerPresent; sl@0: SInt64 iExternalPowerInUseMicroSeconds; sl@0: TUint iFlags; sl@0: }; sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: typedef TPckgBuf TSupplyInfoV1Buf; sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: class TMouseProperties sl@0: { sl@0: public: sl@0: TUint8 iSpeed; sl@0: TUint8 iAcceleration; sl@0: }; sl@0: sl@0: /** sl@0: @internalTechnology Used by Symbian base ports sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: class TSoundInfoV1 sl@0: { sl@0: public: sl@0: TBool iKeyClickEnabled; sl@0: TBool iKeyClickLoud; sl@0: TBool iKeyClickOverridden; sl@0: TBool iPointerClickEnabled; sl@0: TBool iPointerClickLoud; sl@0: TBool iBeepEnabled; sl@0: TBool iBeepLoud; sl@0: TBool iSoundDriverEnabled; sl@0: TBool iSoundDriverLoud; sl@0: TBool iSoundEnabled; sl@0: }; sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: typedef TPckgBuf TSoundInfoV1Buf; sl@0: sl@0: /** sl@0: @internalTechnology Used by Symbian base ports sl@0: */ sl@0: class TOnOffInfoV1 sl@0: { sl@0: public: sl@0: TBool iPointerSwitchesOn; sl@0: TBool iCaseOpenSwitchesOn; sl@0: TBool iCaseCloseSwitchesOff; sl@0: }; sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @deprecated Unused by Symbian code sl@0: */ sl@0: typedef TPckgBuf TOnOffInfoV1Buf; sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @removed Unused by Symbian code sl@0: */ sl@0: enum TUserMediaFunction {EUserMediaRemount,EUserMediaNotifyChange}; sl@0: sl@0: sl@0: sl@0: sl@0: // sl@0: // Hal function enumerations sl@0: // sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: Defines the set of HAL groups. sl@0: sl@0: Each HAL group has an associated HAL handler. Note that the sl@0: HAL handlers for EHalGroupKernel and EHalGroupEmulator are internal sl@0: to Symbian OS. sl@0: sl@0: See the Base Porting Guide documentation in the developer library for sl@0: more information on HAL groups. sl@0: */ sl@0: enum THalFunctionGroup sl@0: { sl@0: /** sl@0: @internalComponent sl@0: sl@0: The HAL group associated with kernel related information; for example sl@0: the reason for the most recent system boot. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TKernelHalFunction enum values. sl@0: */ sl@0: EHalGroupKernel=0, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with Variant specific hardware. sl@0: sl@0: This HAL handler is implemented by the Variant, specifically by sl@0: the base port's implementation of Asic::VariantHal(). sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TVariantHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TVariantHalFunction sl@0: @see Asic::VariantHal() sl@0: */ sl@0: EHalGroupVariant=1, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with the media driver. sl@0: sl@0: It is used internally by the media driver LDD. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TMediaHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TMediaHalFunction sl@0: */ sl@0: EHalGroupMedia=2, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with power handling. sl@0: sl@0: This HAL handler is implemented by the power model. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TPowerHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TPowerHalFunction sl@0: */ sl@0: EHalGroupPower=3, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with the main screen display. sl@0: sl@0: This HAL handler is implemented by the screen (i.e. LCD or video driver). sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TDisplayHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TDisplayHalFunction sl@0: */ sl@0: EHalGroupDisplay=4, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with the digitiser (i.e. pen or stylus). sl@0: sl@0: This HAL handler is implemented by the digitiser. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TDigitiserHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TDigitiserHalFunction sl@0: */ sl@0: EHalGroupDigitiser=5, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with a sound driver. sl@0: sl@0: This group is provided by Symbian OS for backwards compatibility with sl@0: the Psion Series 5MX devices. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TSoundHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TSoundHalFunction sl@0: */ sl@0: EHalGroupSound=6, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with a mouse-type device. sl@0: sl@0: In Symbian OS, the the only example of a mouse device is in the emulator, sl@0: and this is a port of Symbian OS maintained by Symbian. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TMouseHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TMouseHalFunction sl@0: */ sl@0: EHalGroupMouse=7, sl@0: sl@0: sl@0: /** sl@0: @internalComponent sl@0: sl@0: The HAL group associated with the emulator. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TEmulatorHalFunction enum values. sl@0: */ sl@0: EHalGroupEmulator=8, sl@0: sl@0: sl@0: /** sl@0: The HAL group associated with the keyboard. sl@0: sl@0: This HAL handler is implemented by the keyboard driver. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TKeyboardHalFunction enum values. See the individual function-ids for sl@0: the associated capabilities. sl@0: sl@0: @see TKeyboardHalFunction sl@0: */ sl@0: EHalGroupKeyboard=9, sl@0: sl@0: /* sl@0: The HAL group associated with the virtual memory system. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TVMHalFunction enum values. sl@0: sl@0: @see TVMHalFunction sl@0: */ sl@0: EHalGroupVM=10, sl@0: sl@0: /* sl@0: The HAL group associated with the RAM Zone configuration. sl@0: sl@0: The function-ids associated with this HAL group are defined by the set sl@0: of TRamHalFunction enum values. sl@0: sl@0: @see TRamHalFunction sl@0: */ sl@0: EHalGroupRam=11, sl@0: sl@0: /** sl@0: Reserved for platform specific use. sl@0: */ sl@0: EHalGroupPlatformSpecific1=29, sl@0: sl@0: /** sl@0: Reserved for platform specific use. sl@0: */ sl@0: EHalGroupPlatformSpecific2=30 sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: enum TKernelHalFunction sl@0: { sl@0: EKernelHalMemoryInfo, sl@0: EKernelHalRomInfo, sl@0: EKernelHalStartupReason, sl@0: EKernelHalFaultReason, sl@0: EKernelHalExceptionId, sl@0: EKernelHalExceptionInfo, sl@0: EKernelHalCpuInfo, sl@0: EKernelHalPageSizeInBytes, sl@0: EKernelHalTickPeriod, sl@0: EKernelHalMemModelInfo, sl@0: EKernelHalFastCounterFrequency, sl@0: EKernelHalNTickPeriod, sl@0: EKernelHalHardwareFloatingPoint, sl@0: EKernelHalGetNonsecureClockOffset, sl@0: EKernelHalSetNonsecureClockOffset, sl@0: EKernelHalSmpSupported, sl@0: EKernelHalNumLogicalCpus, sl@0: EKernelHalSupervisorBarrier, sl@0: EKernelHalFloatingPointSystemId, sl@0: EKernelHalLockThreadToCpu, sl@0: EKernelHalConfigFlags, sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupVariant sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the Variant, sl@0: and is passed as the second parameter to sl@0: the HAL handler function dealing with this group. sl@0: sl@0: @see EHalGroupVariant sl@0: */ sl@0: enum TVariantHalFunction sl@0: { sl@0: /** sl@0: Gets Variant specifc information. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TVariantInfoV01 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: sl@0: @see TVariantInfoV01 sl@0: @see TPckgBuf sl@0: */ sl@0: EVariantHalVariantInfo, sl@0: sl@0: sl@0: /** sl@0: Sets the debug port number. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing the debug port number. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalDebugPortSet, sl@0: sl@0: sl@0: /** sl@0: Gets the debug port number. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the debug port value sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalDebugPortGet, sl@0: sl@0: sl@0: /** sl@0: Sets the current state of each LED. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TUint value containing the bitmask that sl@0: describes the state of the LEDs. For each bit in the mask, 0 = OFF, 1 = ON. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalLedMaskSet, sl@0: sl@0: sl@0: /** sl@0: Gets the current state of each LED. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TUint value into which the HAL handler puts the bitmask that sl@0: describes the state of the LEDs. For each bit in the mask, 0 = OFF, 1 = ON. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalLedMaskGet, sl@0: sl@0: sl@0: /** sl@0: Gets the current state of any Variant specific switches. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TUint value into which the HAL handler puts the bits that sl@0: describe the state of the switches. The meaning of the switches is entirely sl@0: hardware dependent. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalSwitches, sl@0: sl@0: sl@0: /** sl@0: Restarts the system. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TUint value containing the bits defining the custom restart reasons sl@0: that can be passed to Kern::Restart(). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: sl@0: @capability PowerMgmt sl@0: sl@0: @see Kern::Restart() sl@0: */ sl@0: EVariantHalCustomRestart, sl@0: sl@0: sl@0: /** sl@0: Gets the reason for the system restart. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the handler will put a value sl@0: representing the restart reason. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in the file sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalCustomRestartReason, sl@0: sl@0: sl@0: /** sl@0: Gets the current state of the case. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TUint value into which the HAL handler puts a value representing the case state. sl@0: Possible values are 0 for closed, and 1 for open. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalCaseState, sl@0: sl@0: sl@0: /** sl@0: Gets the number of screens on this platform. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to TInt that will contain the number of screens sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: */ sl@0: EVariantHalCurrentNumberOfScreens, sl@0: sl@0: /** sl@0: Sets the startup reason for the system restart. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TUint value containing the bits defining the startup mode sl@0: that will be passed to Kern::Restart(). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: sl@0: @capability WriteDeviceData sl@0: sl@0: @see Kern::Restart() sl@0: */ sl@0: EVariantHalPersistStartupMode, sl@0: sl@0: /** sl@0: Gets the startup mode after a system restart. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt that will hold the returned value sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in the file sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalGetPersistedStartupMode, sl@0: sl@0: /** sl@0: Returns the maximum number of values that can be used to store the startup reason required for a custom restart. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt that will hold the returned value sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalGetMaximumCustomRestartReasons, sl@0: sl@0: /** sl@0: Returns the maximum number of values that can be used to store the startup mode required for a transition to sl@0: a EPwRestart power state. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt that will hold the returned value sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: An example of this function can be found in the Variant template; sl@0: see the function: sl@0: @code sl@0: Template::VariantHal() sl@0: @endcode sl@0: in sl@0: @code sl@0: ...\template\template_variant\specific\variant.cpp sl@0: @endcode sl@0: */ sl@0: EVariantHalGetMaximumRestartStartupModes, sl@0: sl@0: /** sl@0: Returns a factor by which timeouts in test code should be expanded for sl@0: exceptionally slow platforms (e.g. with cores implemented in FPGA). sl@0: sl@0: If this is not supported the factor should be assumed to be 1. sl@0: */ sl@0: EVariantHalTimeoutExpansion, sl@0: sl@0: /** sl@0: Returns a serial number as an Int sl@0: */ sl@0: EVariantHalSerialNumber, sl@0: sl@0: /** sl@0: Returns the interrupt used by sampling profiler - applicable for SMP only. sl@0: Each CPU_i is interrupted by interrupt number ECpuProfilingInterrupt + i sl@0: */ sl@0: EVariantHalProfilingDefaultInterruptBase sl@0: sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupMedia sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the media driver, sl@0: and is passed as the second parameter to sl@0: the HAL handler function dealing with this group. sl@0: sl@0: @see EHalGroupMedia sl@0: */ sl@0: enum TMediaHalFunction sl@0: { sl@0: /** sl@0: Gets drive information. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TDriveInfoV1 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: Note that the HAL handler is implemented by Symbian OS sl@0: sl@0: @see TDriveInfoV1 sl@0: @see TPckgBuf sl@0: */ sl@0: EMediaHalDriveInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetROMConcurrencyInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetCodeConcurrencyInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalResetConcurrencyInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetROMPagingBenchmark, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetCodePagingBenchmark, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalResetPagingBenchmark, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetDataConcurrencyInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetDataInPagingBenchmark, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetDataOutPagingBenchmark, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EMediaHalGetPagingInfo, sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupPower sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific aspect of power handling on the device. sl@0: sl@0: @see EHalGroupPower sl@0: */ sl@0: enum TPowerHalFunction sl@0: { sl@0: sl@0: /** sl@0: This is used internally by Symbian sl@0: */ sl@0: EPowerHalOnOffInfo, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: */ sl@0: EPowerHalSupplyInfo, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EPowerHalSetAutoSwitchOffBehavior, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: */ sl@0: EPowerHalAutoSwitchOffBehavior, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EPowerHalSetAutoSwitchOffTime, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: */ sl@0: EPowerHalAutoSwitchOffTime, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EPowerHalResetAutoSwitchOffTimer, sl@0: sl@0: sl@0: /** sl@0: Switches the device off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EPowerHalSwitchOff, sl@0: sl@0: sl@0: /** sl@0: Sets whether touching the screen with a pen or stylus will cause sl@0: the device to switch on. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (if touching the screen sl@0: is to cause a power on), or EFalse (if touching the screen is not to cause sl@0: a power on). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EPowerHalSetPointerSwitchesOn, sl@0: sl@0: sl@0: /** sl@0: Tests whether touching the screen with a pen or stylus will cause sl@0: the device to switch on. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (if touching sl@0: the screen will cause a power on), or EFalse (if touching the screen will sl@0: not cause a power on). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EPowerHalPointerSwitchesOn, sl@0: sl@0: sl@0: /** sl@0: Sets whether the opening of a 'device case' will cause sl@0: the device to switch on. sl@0: sl@0: Note that the meaning attached to a 'device case' depends on the hardware. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (if opening sl@0: the case is to cause a power on), or EFalse (if opening sl@0: the case is not to cause a power on). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EPowerHalSetCaseOpenSwitchesOn, sl@0: sl@0: sl@0: /** sl@0: Tests whether the opening of a 'device case' will cause sl@0: the device to switch on. sl@0: sl@0: Note that the meaning attached to a 'device case' depends on the hardware. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (if opening sl@0: the case will cause a power on), or EFalse (if opening sl@0: the case will not cause a power on). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EPowerHalCaseOpenSwitchesOn, sl@0: sl@0: sl@0: /** sl@0: Sets whether the closing of a 'device case' will cause sl@0: the device to switch off. sl@0: sl@0: Note that the meaning attached to a 'device case' depends on the hardware. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (if closing sl@0: the case is to cause a power off), or EFalse (if closing sl@0: the case is not to cause a power off). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EPowerHalSetCaseCloseSwitchesOff, sl@0: sl@0: sl@0: /** sl@0: Tests whether the closing of a 'device case' will cause sl@0: the device to switch off. sl@0: sl@0: Note that the meaning attached to a 'device case' depends on the hardware. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (if closing sl@0: the case will cause a power off), or EFalse (if closing sl@0: the case will not cause a power off). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EPowerHalCaseCloseSwitchesOff, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EPowerHalSetBatteryType, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: */ sl@0: EPowerHalBatteryType, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EPowerHalSetBatteryCapacity, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: */ sl@0: EPowerHalBatteryCapacity, sl@0: sl@0: sl@0: /** sl@0: This is not currently used. sl@0: */ sl@0: EPowerHalAutoSwitchOffType, sl@0: sl@0: sl@0: /** sl@0: This is used internally by Symbian. sl@0: */ sl@0: EPowerHalTestBootSequence, sl@0: sl@0: sl@0: /** sl@0: Tests whether a backup power supply is present or not. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (if backup sl@0: power is present), or EFalse (if backup power is not present). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EPowerHalBackupPresent, sl@0: sl@0: sl@0: /** sl@0: Tests whether accessory power is present or not. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (if accessory sl@0: power is present), or EFalse (if accessory power is not present). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EPowerHalAcessoryPowerPresent, sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupDisplay sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the hardware display, sl@0: i.e. the screen or the LCD, and is passed as the second parameter to sl@0: the HAL handler function dealing with this group. sl@0: sl@0: @see EHalGroupDisplay sl@0: */ sl@0: enum TDisplayHalFunction sl@0: { sl@0: sl@0: /** sl@0: Gets the screen display properties. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TScreenInfoV01 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: For example: sl@0: @code sl@0: ... sl@0: case EDisplayHalScreenInfo: sl@0: TPckgBuf vPckg; sl@0: // Fill details sl@0: Kern::InfoCopy(*(TDes8*)a1,vPckg); sl@0: ... sl@0: @endcode sl@0: sl@0: @see TScreenInfoV01 sl@0: @see TPckgBuf sl@0: */ sl@0: EDisplayHalScreenInfo, sl@0: sl@0: sl@0: /** sl@0: Registers whether it is the Window Server's responsibility to turn sl@0: the screen display on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a TBool value that needs to be set to ETrue or EFalse. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: For example: sl@0: @code sl@0: ... sl@0: case EDisplayHalWsRegisterSwitchOnScreenHandling: sl@0: iWsSwitchOnScreen=(TBool)a1; sl@0: ... sl@0: @endcode sl@0: sl@0: @see TBool sl@0: */ sl@0: EDisplayHalWsRegisterSwitchOnScreenHandling, sl@0: sl@0: sl@0: /** sl@0: Requests that the Window Server turn the screen display on. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalWsSwitchOnScreen, sl@0: sl@0: sl@0: /** sl@0: Gets the maximum screen display contrast value. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the maximum sl@0: display contrast value. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalMaxDisplayContrast, sl@0: sl@0: sl@0: /** sl@0: Sets the screen display contrast value. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing the display contrast value. sl@0: Typically, this needs to lie within a range that is valid for the device. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDisplayHalSetDisplayContrast, sl@0: sl@0: sl@0: /** sl@0: Gets the screen display's current contrast value. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the sl@0: display contrast value. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalDisplayContrast, sl@0: sl@0: sl@0: /** sl@0: Sets the backlight behaviour. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : Not specified; depends on the manufacturer's implementation. sl@0: sl@0: - TAny* a2 : Not specified; depends on the manufacturer's implementation. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDisplayHalSetBacklightBehavior, sl@0: sl@0: sl@0: /** sl@0: Gets information about the backlight behaviour. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : Not specified; depends on the manufacturer's implementation. sl@0: sl@0: - TAny* a2 : Not specified; depends on the manufacturer's implementation. sl@0: */ sl@0: EDisplayHalBacklightBehavior, sl@0: sl@0: sl@0: /** sl@0: Sets the backlight timeout value, i.e. the length of time that the backlight sl@0: will stay on. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : Not specified; depends on the manufacturer's implementation. sl@0: sl@0: - TAny* a2 : Not specified; depends on the manufacturer's implementation. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDisplayHalSetBacklightOnTime, sl@0: sl@0: sl@0: /** sl@0: Gets information about the backlight timeout value, i.e. the length sl@0: of time that the backlight will stay on. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : Not specified; depends on the manufacturer's implementation. sl@0: sl@0: - TAny* a2 : Not specified; depends on the manufacturer's implementation. sl@0: */ sl@0: EDisplayHalBacklightOnTime, sl@0: sl@0: sl@0: /** sl@0: Sets the backlight on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue or EFalse. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDisplayHalSetBacklightOn, sl@0: sl@0: sl@0: /** sl@0: Gets the current state of the backlight. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler sl@0: puts ETrue (for On) or EFalse (for Off). sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalBacklightOn, sl@0: sl@0: sl@0: /** sl@0: Gets the screen display's maximum brightness value. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the sl@0: maximum brightness value. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalMaxDisplayBrightness, sl@0: sl@0: sl@0: /** sl@0: Sets the screen display's brightness value. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing the brightness value. sl@0: Typically, this needs to lie within a range that is valid for the device. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDisplayHalSetDisplayBrightness, sl@0: sl@0: sl@0: /** sl@0: Gets the screen display's current brightness value. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the sl@0: brightness value. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalDisplayBrightness, sl@0: // sl@0: sl@0: /** sl@0: Gets the number of available display modes. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the sl@0: number of display modes value. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalModeCount, sl@0: sl@0: sl@0: /** sl@0: Sets the display mode. sl@0: sl@0: This will normally update the information maintained by the screen driver sl@0: in the form of a TScreenInfoV01 struct. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing a number representing the display mode. sl@0: Typically, this needs to lie within a range that is valid for the device. sl@0: For example, the value usually needs to be positive, and be less than sl@0: the number of display modes. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability MultimediaDD sl@0: sl@0: @see TScreenInfoV01 sl@0: */ sl@0: EDisplayHalSetMode, sl@0: sl@0: sl@0: /** sl@0: Gets the current screen display mode. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the sl@0: the current display mode value. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalMode, sl@0: sl@0: sl@0: /** sl@0: Sets a colour value for the specified palette entry. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value that identifies the palette entry. The value sl@0: occupies the junior 8 bits of the integer. The senior 24 bits are all 0. sl@0: sl@0: - TAny* a2 : A TInt value containing the colour value; it represents sl@0: a standard Symbian OS RGB colour value, and occupies the junior 24 bits sl@0: of the integer. The senior 8 bits are not defined. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalSetPaletteEntry, sl@0: sl@0: sl@0: /** sl@0: Gets the colour value for the specified palette entry. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value that identifies the palette entry. The value sl@0: is expected to occupy the junior 8 bits of the integer. The senior 24 bits sl@0: are not defined. sl@0: sl@0: - TAny* a2 : On return from the HAL function, a TInt value containing sl@0: the colour value. The value occupies the junior 24 bits of the integer. sl@0: The senior 8 bits are not defined. sl@0: */ sl@0: EDisplayHalPaletteEntry, sl@0: sl@0: sl@0: /** sl@0: Sets the screen display on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (for On), sl@0: or EFalse (for Off). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EDisplayHalSetState, sl@0: sl@0: sl@0: /** sl@0: Gets the state of the screen display, i.e. whether the display is on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (for On), sl@0: or EFalse (for Off). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EDisplayHalState, sl@0: sl@0: sl@0: /** sl@0: Gets the maximum number of colours that the screen display supports. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the maximum sl@0: number of colours. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalColors, sl@0: sl@0: sl@0: /** sl@0: Gets information about the current display mode. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TVideoInfoV01 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @see TVideoInfoV01 sl@0: @see TPckgBuf sl@0: */ sl@0: EDisplayHalCurrentModeInfo, sl@0: sl@0: sl@0: /** sl@0: Gets information about the specified display mode. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing the number of the display mode for which sl@0: information is to be fetched. sl@0: sl@0: - TAny* a2 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TVideoInfoV01 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: @see TVideoInfoV01 sl@0: @see TPckgBuf sl@0: */ sl@0: EDisplayHalSpecifiedModeInfo, sl@0: sl@0: // EDisplaySwitchOffScreen, sl@0: sl@0: sl@0: /** sl@0: Fills/copies an area of the screen display with a rectangle of a specified colour. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: SRectOpInfo structure. The structure contains the information that sl@0: is needed for the operation. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: @see SRectOpInfo sl@0: @see TPckgBuf sl@0: */ sl@0: EDisplayHalBlockFill, sl@0: sl@0: sl@0: /** sl@0: Fills/copies an area of the screen display with a rectangle of a specified colour. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: SRectOpInfo structure. The structure contains the information that sl@0: is needed for the operation. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: @see SRectOpInfo sl@0: @see TPckgBuf sl@0: */ sl@0: EDisplayHalBlockCopy, sl@0: sl@0: sl@0: /** sl@0: Tests whether the screen display is secure. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (for secure mode), sl@0: or EFalse (for non-secure mode). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: EDisplayHalSecure, sl@0: sl@0: sl@0: /** sl@0: Sets the screen display into secure or non-secure mode. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (for secure mode), sl@0: or EFalse (for non-secure mode). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalSetSecure, sl@0: sl@0: sl@0: /** sl@0: Gets the address of the DSA buffer sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the address sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalGetDisplayMemoryAddress, sl@0: /** sl@0: Gets a handle to the DSA buffer memory sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the handle value sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDisplayHalGetDisplayMemoryHandle, sl@0: sl@0: sl@0: /** sl@0: Ask how many resolutions there are on a specific screen sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt reference to pass back the number of resolutions. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalNumberOfResolutions, sl@0: sl@0: sl@0: /** sl@0: Gets information on a specific configuration for a particular screen sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt configuration index to get back. sl@0: sl@0: - TAny* a2 : A TVideoInfoV01 descriptor to get the info back. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalSpecificScreenInfo, sl@0: sl@0: sl@0: /** sl@0: Gets info on the current configuration for a particular screen sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TVideoInfoV01 descriptor to get the info back. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalCurrentScreenInfo, sl@0: sl@0: sl@0: /** sl@0: Sets the screen display into a predefined state. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt that is one of the value of TDisplayState enum sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalSetDisplayState, sl@0: sl@0: /** sl@0: Gets the spinner of screen display state. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt which is set to the spinner value on return sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EDisplayHalGetStateSpinner, sl@0: }; sl@0: sl@0: /** sl@0: @internalComponent sl@0: @test sl@0: The set of display state ids that are associated with EDisplayHalSetDisplayState sl@0: sl@0: @see EDisplayHalSetDisplayState sl@0: */ sl@0: sl@0: enum TDisplayConnectState sl@0: { sl@0: ENormalResolution, sl@0: ENoResolution, sl@0: EDisconnect, sl@0: ESingleResolution, sl@0: EDisplayStateTooHigh sl@0: }; sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupDigitiser sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the digitiser, sl@0: and is passed as the second parameter to the HAL handler function sl@0: dealing with this group. sl@0: sl@0: @see EHalGroupDigitiser sl@0: */ sl@0: enum TDigitiserHalFunction sl@0: { sl@0: sl@0: /** sl@0: Sets the calibration data (i.e. the values of the digitiser to sl@0: screen constants) for the digitiser device. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A pointer to a TDigitizerCalibration object. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @see TDigitizerCalibration sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDigitiserHalSetXYInputCalibration, sl@0: sl@0: sl@0: /** sl@0: Gets the calibration data (i.e. the values of the digitiser to sl@0: screen constants) for the digitiser device. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A pointer to a TDigitizerCalibration object; the HAL function sl@0: needs to fill the members of this structure with sl@0: the appropriate information. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @see TDigitizerCalibration sl@0: */ sl@0: EDigitiserHalCalibrationPoints, sl@0: sl@0: sl@0: /** sl@0: Saves the calibration data (i.e. the values of the digitiser to sl@0: screen constants) for the digitiser device in a persistent memory area so sl@0: that they can be restored after a power cycle. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDigitiserHalSaveXYInputCalibration, sl@0: sl@0: sl@0: /** sl@0: Restores the calibration data (i.e. the values of the digitiser to sl@0: screen constants) for the digitiser device from a persistent memory area so sl@0: that they can be restored after a power cycle. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: EDigitiserHalRestoreXYInputCalibration, sl@0: sl@0: sl@0: /** sl@0: Gets digitiser information as defined by the content of sl@0: a TDigitiserInfoV01 (or TDigitiserInfoV02) struct. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TDigitiserInfoV01 (or TDigitiserInfoV02) structure. The HAL function needs sl@0: to fill the members of this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @see TPckgBuf sl@0: @see TDigitiserInfoV01 sl@0: */ sl@0: EDigitiserHalXYInfo, sl@0: sl@0: sl@0: /** sl@0: Tests whether the digitiser is on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool value that needs to be set to ETrue (On), or EFalse (Off). sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDigitiserHalXYState, sl@0: sl@0: sl@0: /** sl@0: Sets the digitiser either on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (On), or EFalse (Off). sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EDigitiserHalSetXYState, sl@0: sl@0: /** sl@0: Checks whether the pointing device supports 3rd dimension. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool value that needs to be set to ETrue (3D supported), or EFalse (3D not supported). sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDigitiserHal3DPointer, sl@0: sl@0: /** sl@0: Sets the detection range above the screen. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value that is the detection range in units of distance above the screen. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDigitiserHalSetZRange, sl@0: sl@0: /** sl@0: @prototype sl@0: sl@0: Sets the number of pointers it supports on the digitiser. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value that sets the number of pointer to be supported by the digitiser driver sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EDigitiserHalSetNumberOfPointers, sl@0: sl@0: /** sl@0: @prototype sl@0: sl@0: Gets digitiser information as defined by the content of sl@0: a TDigitiserInfoV02 struct. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TDigitiserInfoV02 structure. The HAL function needs sl@0: to fill the members of this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @see TPckgBuf sl@0: @see TDigitiserInfoV02 sl@0: */ sl@0: EDigitiserHal3DInfo sl@0: sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupSound sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the sound driver, sl@0: and is passed as the second parameter to the HAL handler function sl@0: dealing with this group. sl@0: sl@0: Note that a sound driver in Symbian OS is only maintained for backwards sl@0: compatibility with the Psion Series 5MX devices. sl@0: sl@0: @see EHalGroupSound sl@0: */ sl@0: enum TSoundHalFunction sl@0: { sl@0: /** sl@0: Gets sound driver information. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TSoundInfoV1 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @see TSoundInfoV1 sl@0: @see TPckgBuf sl@0: */ sl@0: ESoundHalSoundInfo, sl@0: sl@0: sl@0: /** sl@0: Sets whether a click is to be sounded on a key press. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (click is to be sounded), sl@0: or EFalse (click is not to be sounded). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetKeyClickEnabled, sl@0: sl@0: sl@0: /** sl@0: Sets whether a click that is to be sounded on a key press, is loud or not. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (click is to be loud), sl@0: or EFalse (click is not to be loud). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetKeyClickLoud, sl@0: sl@0: sl@0: /** sl@0: Sets whether a click is to be sounded when a pointing device touches sl@0: the screen. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (click is to be sounded), sl@0: or EFalse (click is not to be sounded). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetPointerClickEnabled, sl@0: sl@0: sl@0: /** sl@0: Sets whether a click that is to be sounded when a pointing device touches sl@0: the screen, is loud or not. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (click is to be loud), sl@0: or EFalse (click is not to be loud). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetPointerClickLoud, sl@0: sl@0: sl@0: /** sl@0: Sets whether the beep sound is enabled. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (beep is enabled), sl@0: or EFalse (beep is not enabled). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetBeepEnabled, sl@0: sl@0: sl@0: /** sl@0: Sets whether the beep sound is to be loud. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (beep is loud), sl@0: or EFalse (beep is not loud). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetBeepLoud, sl@0: sl@0: sl@0: /** sl@0: Sets whether the sound driver is enabled. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (driver is enabled), sl@0: or EFalse (driver is not enabled). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: ESoundHalSetSoundDriverEnabled, sl@0: sl@0: sl@0: /** sl@0: Sets whether the sound driver is to generate loud sounds. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (driver is to generate loud sounds), sl@0: or EFalse (driver is not to generate loud sounds). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetSoundDriverLoud, sl@0: sl@0: sl@0: /** sl@0: Sets whether sound generation is enabled. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (sound generation is enabled), sl@0: or EFalse (sound generation is not enabled). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetSoundEnabled, sl@0: sl@0: sl@0: /** sl@0: Sets whether generation of key clicks is to be overridden. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (key clicks to be overridden), sl@0: or EFalse (key clicks not to be overridden). sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @capability WriteDeviceData sl@0: */ sl@0: ESoundHalSetKeyClickOverridden, sl@0: sl@0: sl@0: /** sl@0: Tests whether the generation of key clicks is overridden. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (key clicks are overridden), sl@0: or EFalse (key clicks are not overridden). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalKeyClickOverridden, sl@0: sl@0: sl@0: /** sl@0: Tests whether a click that is to be sounded on a key press, is loud or not. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is loud), sl@0: or EFalse (click is not loud). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalKeyClickLoud, sl@0: sl@0: sl@0: /** sl@0: Tests whether a click is to be sounded on a key press. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is sounded), sl@0: or EFalse (click is not sounded). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalKeyClickEnabled, sl@0: sl@0: sl@0: /** sl@0: Tests whether a click that is to be sounded when a pointing device touches sl@0: the screen, is loud or not. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is loud), sl@0: or EFalse (click is not loud). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalPointerClickLoud, sl@0: sl@0: sl@0: /** sl@0: Tests whether a click is to be sounded when a pointing device touches sl@0: the screen. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which teh HAL handler puts ETrue (click is to be sounded), sl@0: or EFalse (click is not to be sounded). sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalPointerClickEnabled, sl@0: sl@0: sl@0: /** sl@0: Generates a key click sound. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalKeyClick, sl@0: sl@0: sl@0: /** sl@0: Generates a pointer click sound. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalPointerClick, sl@0: sl@0: sl@0: /** sl@0: Generates a beep sound. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : NULL. sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalBeep, sl@0: sl@0: sl@0: /** sl@0: Gets the maximum volume of the key click. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the maximum volume value. sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalKeyClickVolumeMax, sl@0: sl@0: sl@0: /** sl@0: Gets the maximum volume of the pointer click. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the maximum volume value. sl@0: sl@0: - TAny* a2 : NULL. sl@0: */ sl@0: ESoundHalPointerClickVolumeMax, sl@0: }; sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupMouse sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the mouse device, sl@0: and is passed as the second parameter to the HAL handler function sl@0: dealing with this group. sl@0: sl@0: @see EHalGroupMouse sl@0: */ sl@0: enum TMouseHalFunction sl@0: { sl@0: sl@0: sl@0: /** sl@0: Tests whether a mouse device is visible. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler sl@0: puts ETrue (for visible) or EFalse (for not-visible). sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EMouseHalMouseState, sl@0: sl@0: sl@0: /** sl@0: Sets the state of the mouse device, i.e. whether it is visible or invisible. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool that needs to be set to ETrue (for visible) sl@0: or EFalse (for not-visible). sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EMouseHalSetMouseState, sl@0: sl@0: sl@0: /** sl@0: Gets the mouse speed, i.e. how fast the mouse pointer moves. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the speed value. sl@0: This is expected to be a value in the range 0 to 255. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EMouseHalMouseSpeed, sl@0: sl@0: sl@0: /** sl@0: Sets the mouse speed, i.e. how fast the mouse pointer moves. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing the speed value to be set sl@0: This is expected to be a value in the range 0 to 255. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EMouseHalSetMouseSpeed, sl@0: sl@0: sl@0: /** sl@0: Gets the mouse acceleration, i.e. how much the mouse pointer accelerates sl@0: as the user moves it faster. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value into which the HAL handler puts the acceleration value. sl@0: This is expected to be a value in the range 0 to 255. sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EMouseHalMouseAcceleration, sl@0: sl@0: sl@0: /** sl@0: Sets the mouse acceleration, i.e. how much the mouse pointer accelerates sl@0: as the user moves it faster. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TInt value containing the acceleration value to be set sl@0: This is expected to be a value in the range 0 to 255. sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability MultimediaDD sl@0: */ sl@0: EMouseHalSetMouseAcceleration, sl@0: sl@0: sl@0: /** sl@0: Gets the state of the mouse buttons. sl@0: sl@0: This is not currently supported. sl@0: */ sl@0: EMouseHalMouseButtonState, sl@0: sl@0: sl@0: /** sl@0: Gets information about the mouse display characteristics. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TMouseInfoV01 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @see TMouseInfoV01 sl@0: @see TPckgBuf sl@0: */ sl@0: EMouseHalMouseInfo, sl@0: }; sl@0: sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: enum TEmulatorHalFunction sl@0: { sl@0: EEmulatorHalStringProperty, sl@0: EEmulatorHalIntProperty, sl@0: EEmulatorHalBoolProperty, sl@0: EEmulatorHalMapFilename, sl@0: EEmulatorHalColorDepth, sl@0: EEmulatorHalSetFlip, sl@0: EEmulatorHalCPUSpeed, sl@0: EEmulatorHalNumberOfScreens, sl@0: EEmulatorHalSetDisplayChannel, sl@0: }; sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupKeyboard sl@0: HAL group. sl@0: sl@0: Each enum value represents a specific characteristic of the keyboard, sl@0: and is passed as the second parameter to the HAL handler function sl@0: dealing with this group. sl@0: sl@0: @see EHalGroupKeyboard sl@0: */ sl@0: enum TKeyboardHalFunction sl@0: { sl@0: sl@0: /** sl@0: Tests whether the keyboard is on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : A TBool into which the HAL handler puts ETrue (for On), sl@0: or EFalse (for Off). sl@0: sl@0: - TAny* a2 : NULL sl@0: */ sl@0: EKeyboardHalKeyboardState, sl@0: sl@0: sl@0: /** sl@0: Sets the keyboard either on or off. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 :A TBool that needs to be set to ETrue (On), or EFalse (Off). sl@0: sl@0: - TAny* a2 : NULL sl@0: sl@0: @capability PowerMgmt sl@0: */ sl@0: EKeyboardHalSetKeyboardState, sl@0: sl@0: sl@0: /** sl@0: Gets information about the keyboard. sl@0: sl@0: Requirements of the HAL function handler's 2nd, 3rd and 4th parameters: sl@0: sl@0: - TInt aFunction : This enum value. sl@0: sl@0: - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a sl@0: TKeyboardInfoV01 structure. The HAL function needs to fill the members of sl@0: this structure with the appropriate information. sl@0: sl@0: - TAny* a2 : NULL. sl@0: sl@0: @see TKeyboardInfoV01 sl@0: @see TPckgBuf sl@0: */ sl@0: EKeyboardHalKeyboardInfo, sl@0: }; sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: The set of function-ids that are associated with the EHalGroupVM sl@0: HAL group. sl@0: sl@0: @see EHalGroupVM sl@0: */ sl@0: enum TVMHalFunction sl@0: { sl@0: /** sl@0: Evict the contents of the virtual memory cache and reduce it to its minimum size. sl@0: sl@0: @capability WriteDeviceData sl@0: @test sl@0: */ sl@0: EVMHalFlushCache, sl@0: sl@0: /** sl@0: Change the minimum and maximum RAM sizes used for the virtual memory cache. sl@0: These values may be silently restricted to platforn specific limits. sl@0: If required, GetCacheSize can be used to verify sizes actually applied to the system. sl@0: sl@0: If there is not enough memory to set the specified cache size then KErrNoMemory is sl@0: returned, however the cache size may still have been modified in an attempt to sl@0: service the request. sl@0: sl@0: This hal function expects two TUint arguments. sl@0: The first argument (a1) is the minimum size for cache in bytes. sl@0: The second argument (a2) is the maximum size for cache in bytes; using zero for sl@0: this value will restore cache sizes to the initial values used after boot. sl@0: sl@0: The return value from the function is one of: sl@0: KErrNone, if successful; sl@0: KErrNoMemory if there is not enough memory; sl@0: KErrArgument if a1>a2; sl@0: otherwise one of the other system wide error codes. sl@0: sl@0: Example usage: sl@0: @code sl@0: TUint minRam = 128*1024; // 128k sl@0: TUint maxRam = KMaxTUint; // unlimited sl@0: TInt r = UserSvr::HalFunction(EHalGroupVM,EVMHalSetCacheSize,(TAny*)minRam,(TAny*)maxRam)); sl@0: if(r!=KErrNone) sl@0: anErrorOccured(); sl@0: @endcode sl@0: sl@0: @capability WriteDeviceData sl@0: @test sl@0: */ sl@0: EVMHalSetCacheSize, sl@0: sl@0: /** sl@0: Get the sizes for the virtual memory cache. sl@0: The first argument (a1) is a pointer to a #SVMCacheInfo object. sl@0: The second argument (a2) must be zero. sl@0: @test sl@0: */ sl@0: EVMHalGetCacheSize, sl@0: sl@0: /** sl@0: Get paging event information. sl@0: The first argument (a1) is a pointer to a descriptor whose contents will be filled sl@0: with a #SVMEventInfo object. sl@0: The second argument (a2) must be zero. sl@0: @test sl@0: */ sl@0: EVMHalGetEventInfo, sl@0: sl@0: /** sl@0: Reset the counters obtained with EVMHalGetEventInfo. sl@0: @test sl@0: */ sl@0: EVMHalResetEventInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EVMHalGetOriginalRomPages, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EVMPageState, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EVMHalGetConcurrencyInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EVMHalResetConcurrencyInfo, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EVMHalGetPagingBenchmark, sl@0: sl@0: /** sl@0: @internalTechnology sl@0: @test sl@0: */ sl@0: EVMHalResetPagingBenchmark, sl@0: sl@0: /** sl@0: Gets information about the size of the swap partition, and how much is currently used. sl@0: The first argument (a1) should be a pointer to the SVMSwapInfo structure to write. sl@0: @return KErrNone if successful, or KErrNotSupported if data paging is not supported. sl@0: @internalTechnology sl@0: @prototype sl@0: */ sl@0: EVMHalGetSwapInfo, sl@0: sl@0: /** sl@0: Gets information about the current thrashing level. sl@0: sl@0: This is a number between 0 and 255 representing how close the system is to thrashing, where 0 sl@0: indicates no thrashing and 255 indicates severe thrashing. sl@0: sl@0: @return The current thrashing level. sl@0: @internalTechnology sl@0: @prototype sl@0: */ sl@0: EVMHalGetThrashLevel, sl@0: sl@0: /** sl@0: Set the available swap space thresholds at which low memory notifications will be generated. sl@0: sl@0: Notifications are generated through the RChangeNotifier API, using the enumeration value sl@0: EChangesFreeMemory. sl@0: sl@0: The first argument (a1) should contain a pointer to a SVMSwapThresholds structure. The sl@0: thresholds are specified in bytes. sl@0: sl@0: @return KErrNone if successful, KErrNotSupported if data paging is not supported or KErrArgument sl@0: if the thresholds are larger than the size of the swap partition, or if the low threshold is sl@0: larger than the good threshold. sl@0: sl@0: @see RChangeNotifier sl@0: @see TChanges sl@0: */ sl@0: EVMHalSetSwapThresholds, sl@0: sl@0: /** sl@0: Set the thrash level thresholds at which thrash level notifications will be generated. sl@0: sl@0: Notifications are generated through the RChangeNotifier API, using the enumeration value sl@0: EChangesThrashLevel. sl@0: sl@0: The first argument (a1) should contain the thrashing threshold, and the seond one (a2) should sl@0: contain the good threshold. sl@0: sl@0: The thresholds are specified as numbers between 0 and 255 inclusive. sl@0: sl@0: @return KErrNone if successful, KErrArgument if the thresholds are out of range or if the sl@0: thrashing threshold is smaller than the good threshold. sl@0: sl@0: @see RChangeNotifier sl@0: @see TChanges sl@0: */ sl@0: EVMHalSetThrashThresholds, sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Paging event information. sl@0: @publishedPartner sl@0: @test sl@0: */ sl@0: struct SVMEventInfo sl@0: { sl@0: /** sl@0: The total number of page faults which have occurred. sl@0: */ sl@0: TUint64 iPageFaultCount; sl@0: sl@0: /** sl@0: The total number of page faults which resulted in reading a page sl@0: from storage media. sl@0: */ sl@0: TUint64 iPageInReadCount; sl@0: sl@0: // do not add new members to this struct. sl@0: // instead, derive a new SVMEventInfoV2 class from this and add new members to that. sl@0: }; sl@0: sl@0: sl@0: /** sl@0: VM cache information. sl@0: @publishedPartner sl@0: @test sl@0: */ sl@0: struct SVMCacheInfo sl@0: { sl@0: /** sl@0: The minimum size of virtual memory cache, in bytes. sl@0: */ sl@0: TUint32 iMinSize; sl@0: sl@0: /** sl@0: The maximum size of virtual memory cache, in bytes. sl@0: */ sl@0: TUint32 iMaxSize; sl@0: sl@0: /** sl@0: The current size of virtual memory cache, in bytes. sl@0: This may be larger than iMaxSize. sl@0: */ sl@0: TUint32 iCurrentSize; sl@0: sl@0: /** sl@0: The current size of the freeable memory in the virtual memory cache, in bytes. sl@0: */ sl@0: TUint32 iMaxFreeSize; sl@0: sl@0: // do not add new members to this struct, this is a compatability break sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Enumeration defining the bitmask returned from a call to the demnd paging HAL function sl@0: EDemandPagingGetPageState. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: enum TDemandPagingPageState sl@0: { sl@0: // Values common to both moving and multiple memory models sl@0: EPageStateInRom = 1<<16, sl@0: EPageStateInRamCode = 1<<17, sl@0: EPageStatePaged = 1<<18, sl@0: EPageStatePageTablePresent = 1<<19, sl@0: EPageStatePtePresent = 1<<20, sl@0: EPageStatePteValid = 1<<21, sl@0: // Values specific to multiple memory model sl@0: EPageStateCodeChunkPresent = 1<<22, sl@0: EPageStatePhysAddrPresent = 1<<23 sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Information about concurrency in the demand paging system. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SPagingConcurrencyInfo sl@0: { sl@0: /** sl@0: The maximum observed number of threads waiting to page in. sl@0: */ sl@0: TInt iMaxWaitingCount; sl@0: sl@0: /** sl@0: The maximum observed number of threads paging in. sl@0: */ sl@0: TInt iMaxPagingCount; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Enumeration of demand paging benchmarks. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: enum TPagingBenchmark sl@0: { sl@0: EPagingBmReadRomPage, sl@0: EPagingBmReadCodePage, sl@0: EPagingBmDecompress, sl@0: EPagingBmSetCodePageFree, sl@0: EPagingBmSetCodePageOld, sl@0: EPagingBmReadMedia, sl@0: EPagingBmFixupCodePage, sl@0: EPagingBmReadDataPage, sl@0: EPagingBmWriteDataPage, sl@0: EPagingBmDeleteNotifyDataPage, sl@0: EPagingBmReadDataMedia, sl@0: EPagingBmWriteDataMedia, sl@0: sl@0: EMaxPagingBm sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Benchmark information for a specific operation. All times are in terms of the system's fast timer. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SPagingBenchmarkInfo sl@0: { sl@0: /** sl@0: Number of times the operation has been executed. sl@0: */ sl@0: TInt iCount; sl@0: sl@0: /** sl@0: Total time elapsed while executing the operation. sl@0: */ sl@0: TInt64 iTotalTime; sl@0: sl@0: /** sl@0: Maximum time recorded for a single execution. sl@0: */ sl@0: TInt iMaxTime; sl@0: sl@0: /** sl@0: Minimum time recorded for a single execution. sl@0: */ sl@0: TInt iMinTime; sl@0: }; sl@0: sl@0: /** sl@0: Information about concurrency of ROM demand paging requests in the media subsystem. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SMediaROMPagingConcurrencyInfo sl@0: { sl@0: /** sl@0: The maximum number of pending page in requests in the main queue any time during this session. sl@0: */ sl@0: TUint8 iMaxReqsInPending; sl@0: sl@0: /** sl@0: The maximum number of pending page in requests in the deferred queue any time during this session. sl@0: */ sl@0: TUint8 iMaxReqsInDeferred; sl@0: sl@0: /** sl@0: The maximum number of deferrals of any single page in request during this session. sl@0: */ sl@0: TUint8 iMaxDeferrals; sl@0: sl@0: /** sl@0: The total number of times the page in DFC run with an empty main queue during this session. sl@0: */ sl@0: TUint8 iTotalRunDry; sl@0: sl@0: /** sl@0: The total number of page in requests first-time deferred during this session. sl@0: */ sl@0: TUint iTotalFirstTimeDeferrals; sl@0: sl@0: /** sl@0: The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue). sl@0: */ sl@0: TUint iTotalReDeferrals; sl@0: sl@0: /** sl@0: The total number of page in requests serviced from main queue when completing an asynchronous request. sl@0: */ sl@0: TUint iTotalSynchServicedFromMainQ; sl@0: sl@0: /** sl@0: The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request. sl@0: */ sl@0: TUint iTotalSynchDeferredFromMainQ; sl@0: sl@0: /** sl@0: The total number of page in requests issued whilst processing other page in requests. sl@0: */ sl@0: TUint iTotalConcurrentReqs; sl@0: sl@0: /** sl@0: The total number of page in requests issued with at least one queue not empty. sl@0: */ sl@0: TUint iTotalReqIssuedNonEmptyQ; sl@0: sl@0: /** sl@0: The total number of times the main queue was emptied when completing an asynchronous request during this session. sl@0: */ sl@0: TUint iTotalSynchEmptiedMainQ; sl@0: sl@0: /** sl@0: The total number of times the page in DFC was cancelled because the main queue was synchronously emptied. sl@0: */ sl@0: TUint iTotalDryRunsAvoided; sl@0: }; sl@0: sl@0: /** sl@0: Information about concurrency of Code demand paging requests in the media subsystem. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SMediaCodePagingConcurrencyInfo sl@0: { sl@0: /** sl@0: The maximum number of pending page in requests in the main queue any time during this session. sl@0: */ sl@0: TUint8 iMaxReqsInPending; sl@0: sl@0: /** sl@0: The maximum number of pending page in requests in the deferred queue any time during this session. sl@0: */ sl@0: TUint8 iMaxReqsInDeferred; sl@0: sl@0: /** sl@0: The maximum number of deferrals of any single page in request during this session. sl@0: */ sl@0: TUint8 iMaxDeferrals; sl@0: sl@0: /** sl@0: Spare field sl@0: */ sl@0: TUint8 iSpare; sl@0: sl@0: /** sl@0: The total number of page in requests first-time deferred during this session. sl@0: */ sl@0: TUint iTotalFirstTimeDeferrals; sl@0: sl@0: /** sl@0: The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue). sl@0: */ sl@0: TUint iTotalReDeferrals; sl@0: sl@0: /** sl@0: The total number of page in requests serviced from main queue when completing an asynchronous request. sl@0: */ sl@0: TUint iTotalSynchServicedFromMainQ; sl@0: sl@0: /** sl@0: The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request. sl@0: */ sl@0: TUint iTotalSynchDeferredFromMainQ; sl@0: sl@0: /** sl@0: The total number of page in requests issued whilst processing other page in requests. sl@0: */ sl@0: TUint iTotalConcurrentReqs; sl@0: sl@0: /** sl@0: The total number of page in requests issued with at least one queue not empty. sl@0: */ sl@0: TUint iTotalReqIssuedNonEmptyQ; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Information about concurrency of Data demand paging requests in the media subsystem. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SMediaDataPagingConcurrencyInfo sl@0: { sl@0: /** sl@0: The maximum number of pending page in requests in the main queue any time during this session. sl@0: */ sl@0: TUint8 iMaxReqsInPending; sl@0: sl@0: /** sl@0: The maximum number of pending page in requests in the deferred queue any time during this session. sl@0: */ sl@0: TUint8 iMaxReqsInDeferred; sl@0: sl@0: /** sl@0: The maximum number of deferrals of any single page in request during this session. sl@0: */ sl@0: TUint8 iMaxDeferrals; sl@0: sl@0: /** sl@0: The total number of times the page in DFC run with an empty main queue during this session. sl@0: */ sl@0: TUint8 iTotalRunDry; sl@0: sl@0: /** sl@0: The total number of page in requests first-time deferred during this session. sl@0: */ sl@0: TUint iTotalFirstTimeDeferrals; sl@0: sl@0: /** sl@0: The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue). sl@0: */ sl@0: TUint iTotalReDeferrals; sl@0: sl@0: /** sl@0: The total number of page in requests serviced from main queue when completing an asynchronous request. sl@0: */ sl@0: TUint iTotalSynchServicedFromMainQ; sl@0: sl@0: /** sl@0: The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request. sl@0: */ sl@0: TUint iTotalSynchDeferredFromMainQ; sl@0: sl@0: /** sl@0: The total number of page in requests issued whilst processing other page in requests. sl@0: */ sl@0: TUint iTotalConcurrentReqs; sl@0: sl@0: /** sl@0: The total number of page in requests issued with at least one queue not empty. sl@0: */ sl@0: TUint iTotalReqIssuedNonEmptyQ; sl@0: sl@0: /** sl@0: The total number of times the main queue was emptied when completing an asynchronous request during this session. sl@0: */ sl@0: TUint iTotalSynchEmptiedMainQ; sl@0: sl@0: /** sl@0: The total number of times the page in DFC was cancelled because the main queue was synchronously emptied. sl@0: */ sl@0: TUint iTotalDryRunsAvoided; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Information about paging requests in the media subsystem. sl@0: sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SMediaPagingInfo sl@0: { sl@0: /** sl@0: The total number of ROM page in requests sl@0: */ sl@0: TInt iRomPageInCount; sl@0: /** sl@0: The total number of Code page in requests sl@0: */ sl@0: TInt iCodePageInCount; sl@0: /** sl@0: The total number of Data page in requests sl@0: */ sl@0: TInt iDataPageInCount; sl@0: /** sl@0: The total number of Data page out requests sl@0: */ sl@0: TInt iDataPageOutCount; sl@0: /** sl@0: The total number of "background" Data page out requests sl@0: i.e. a page out which only occurs when the media is otherwise idle sl@0: */ sl@0: TInt iDataPageOutBackgroundCount; sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: Swap partition information. sl@0: @internalAll sl@0: @prototype sl@0: */ sl@0: struct SVMSwapInfo sl@0: { sl@0: /** sl@0: The size of the swap partition, in bytes. sl@0: */ sl@0: TUint64 iSwapSize; sl@0: sl@0: /** sl@0: The amount of swap currently free, in bytes. sl@0: */ sl@0: TUint64 iSwapFree; sl@0: sl@0: // do not add new members to this struct, this is a compatability break sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: Free swap notification thresholds. sl@0: @internalAll sl@0: @prototype sl@0: */ sl@0: struct SVMSwapThresholds sl@0: { sl@0: /** sl@0: The low threshold, in bytes sl@0: */ sl@0: TUint64 iLowThreshold; sl@0: sl@0: /** sl@0: The good threshold, in bytes. sl@0: */ sl@0: TUint64 iGoodThreshold; sl@0: sl@0: // do not add new members to this struct, this is a compatability break sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: @internalComponent sl@0: sl@0: The set of function-ids that are associated with the EHalGroupRam sl@0: HAL group. sl@0: sl@0: @see EHalGroupRam sl@0: @test sl@0: */ sl@0: enum TRamHalFunction sl@0: { sl@0: /** sl@0: Retrieve the number of RAM Zones configured for this variant. sl@0: sl@0: The first argument (a1) is a TUint in which to store the zone count. sl@0: The second argument (a2) must be zero. sl@0: @test sl@0: */ sl@0: ERamHalGetZoneCount, sl@0: sl@0: /** sl@0: Retrieve configuration information about a zone. sl@0: sl@0: The first argument (a1) is a TUint indicating the index of the zone into the zone array. sl@0: The second argument (a2) is a pointer to a struct SRamZoneConfig in which to store the data. sl@0: @test sl@0: */ sl@0: ERamHalGetZoneConfig, sl@0: sl@0: /** sl@0: Retrieve utilisation information about a zone. sl@0: sl@0: The first argument (a1) is a TUint indicating the index of the zone into the zone array. sl@0: The second argument (a2) is a pointer to a struct SRamZoneUtilisation in which to store the data. sl@0: @test sl@0: */ sl@0: ERamHalGetZoneUtilisation, sl@0: sl@0: }; sl@0: sl@0: /** sl@0: Ram zone configuration information. sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SRamZoneConfig sl@0: { sl@0: /** sl@0: ID number of the RAM zone sl@0: */ sl@0: TUint iZoneId; sl@0: sl@0: /** sl@0: The index of the RAM zone in the RAM zone array sl@0: */ sl@0: TUint8 iZoneIndex; sl@0: sl@0: /** sl@0: Physical base address of the RAM zone sl@0: */ sl@0: TUint32 iPhysBase; sl@0: sl@0: /** sl@0: Physical end address of the RAM zone sl@0: */ sl@0: TUint32 iPhysEnd; sl@0: sl@0: /** sl@0: The total number of pages that are in the RAM zone sl@0: */ sl@0: TUint32 iPhysPages; sl@0: sl@0: /** sl@0: Preference value for the RAM zone, lower preference RAM zones are used first sl@0: */ sl@0: TUint8 iPref; sl@0: sl@0: /** sl@0: Zone flags - specify whether the RAM zone should be reserved for contiguous buffer or h/w etc sl@0: */ sl@0: TUint iFlags; sl@0: sl@0: }; sl@0: sl@0: /** sl@0: Ram zone utilisation information. sl@0: @internalComponent sl@0: @test sl@0: */ sl@0: struct SRamZoneUtilisation sl@0: { sl@0: /** sl@0: ID number of the RAM zone sl@0: */ sl@0: TUint iZoneId; sl@0: sl@0: /** sl@0: The index of the RAM zone in the zone array sl@0: */ sl@0: TUint8 iZoneIndex; sl@0: sl@0: /** sl@0: The total number of pages that are in the RAM zone sl@0: */ sl@0: TUint32 iPhysPages; sl@0: sl@0: /** sl@0: The number of pages free in the RAM zone sl@0: */ sl@0: TUint32 iFreePages; sl@0: sl@0: /** sl@0: The number of 'unknown' (reserved at startup or holes in the zone) pages allocated in the RAM zone sl@0: */ sl@0: TUint32 iAllocUnknown; sl@0: sl@0: /** sl@0: The number of fixed pages allocated in the RAM zone sl@0: */ sl@0: TUint32 iAllocFixed; sl@0: sl@0: /** sl@0: The number of movable pages allocated in the RAM zone sl@0: */ sl@0: TUint32 iAllocMovable; sl@0: sl@0: /** sl@0: The number of discardable pages allocated in the RAM zone sl@0: */ sl@0: TUint32 iAllocDiscardable; sl@0: sl@0: /** sl@0: The number of other pages allocated in the RAM zone sl@0: */ sl@0: TUint32 iAllocOther; sl@0: sl@0: }; sl@0: #endif