1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/kernelhwsrv/kernel/eka/include/u32hal.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,3318 @@
1.4 +// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// e32\include\u32hal.h
1.18 +//
1.19 +// WARNING: This file contains some APIs which are internal and are subject
1.20 +// to change without notice. Such APIs should therefore not be used
1.21 +// outside the Kernel and Hardware Services package.
1.22 +//
1.23 +
1.24 +#ifndef __U32HAL_H__
1.25 +#define __U32HAL_H__
1.26 +
1.27 +#include <e32cmn.h>
1.28 +
1.29 +//
1.30 +// Classes used for in functions
1.31 +//
1.32 +
1.33 +/**
1.34 +Used for TVariantInfoV01::iLedCapabilities
1.35 +@publishedPartner
1.36 +@released
1.37 +*/
1.38 +const TUint KLedMaskRed1=0x00000001;
1.39 +
1.40 +/**
1.41 +Used for TVariantInfoV01::iLedCapabilities
1.42 +@publishedPartner
1.43 +@released
1.44 +*/
1.45 +const TUint KLedMaskGreen1=0x00000002;
1.46 +
1.47 +/**
1.48 +Used for TVariantInfoV01::iLedCapabilities
1.49 +@publishedPartner
1.50 +@released
1.51 +*/
1.52 +const TUint KLedMaskYellow1=0x00000004;
1.53 +
1.54 +/**
1.55 +Used for TSupplyInfoV1.iFlags
1.56 +@publishedPartner
1.57 +@deprecated Unused by Symbian code
1.58 +*/
1.59 +const TUint KSupplyFlagSoundWarning=0x00000001;
1.60 +
1.61 +/**
1.62 +Used for TSupplyInfoV1.iFlags
1.63 +@publishedPartner
1.64 +@deprecated Unused by Symbian code
1.65 +*/
1.66 +const TUint KSupplyFlagBacklightWarning=0x00000002;
1.67 +
1.68 +/**
1.69 +Used for TSupplyInfoV1.iFlags
1.70 +@publishedPartner
1.71 +@deprecated Unused by Symbian code
1.72 +*/
1.73 +const TUint KSupplyFlagTimeChanged=0x80000000;
1.74 +
1.75 +/**
1.76 +@internalComponent
1.77 +@deprecated Unused by Symbian code
1.78 +*/
1.79 +class TClearSetMask
1.80 + {
1.81 +public:
1.82 + TUint iClearMask;
1.83 + TUint iSetMask;
1.84 + };
1.85 +
1.86 +/**
1.87 +@internalTechnology
1.88 +@deprecated Unused by Symbian code
1.89 +*/
1.90 +enum TSupplyStatus
1.91 + {
1.92 + EZero,EVeryLow,ELow,EGood
1.93 + };
1.94 +
1.95 +/**
1.96 +@internalTechnology
1.97 +@deprecated Unused by Symbian code
1.98 +*/
1.99 +class TSupplyInfoV1
1.100 + {
1.101 +public:
1.102 + SInt64 iMainBatteryInsertionTime;
1.103 + TSupplyStatus iMainBatteryStatus;
1.104 + SInt64 iMainBatteryInUseMicroSeconds;
1.105 + TInt iCurrentConsumptionMilliAmps;
1.106 + TInt iMainBatteryConsumedMilliAmpSeconds;
1.107 + TInt iMainBatteryMilliVolts;
1.108 + TInt iMainBatteryMaxMilliVolts;
1.109 + TSupplyStatus iBackupBatteryStatus;
1.110 + TInt iBackupBatteryMilliVolts;
1.111 + TInt iBackupBatteryMaxMilliVolts;
1.112 + TBool iExternalPowerPresent;
1.113 + SInt64 iExternalPowerInUseMicroSeconds;
1.114 + TUint iFlags;
1.115 + };
1.116 +
1.117 +/**
1.118 +@internalTechnology
1.119 +@deprecated Unused by Symbian code
1.120 +*/
1.121 +typedef TPckgBuf<TSupplyInfoV1> TSupplyInfoV1Buf;
1.122 +
1.123 +/**
1.124 +@publishedPartner
1.125 +@deprecated Unused by Symbian code
1.126 +*/
1.127 +class TMouseProperties
1.128 + {
1.129 +public:
1.130 + TUint8 iSpeed;
1.131 + TUint8 iAcceleration;
1.132 + };
1.133 +
1.134 +/**
1.135 +@internalTechnology Used by Symbian base ports
1.136 +@deprecated Unused by Symbian code
1.137 +*/
1.138 +class TSoundInfoV1
1.139 + {
1.140 +public:
1.141 + TBool iKeyClickEnabled;
1.142 + TBool iKeyClickLoud;
1.143 + TBool iKeyClickOverridden;
1.144 + TBool iPointerClickEnabled;
1.145 + TBool iPointerClickLoud;
1.146 + TBool iBeepEnabled;
1.147 + TBool iBeepLoud;
1.148 + TBool iSoundDriverEnabled;
1.149 + TBool iSoundDriverLoud;
1.150 + TBool iSoundEnabled;
1.151 + };
1.152 +
1.153 +/**
1.154 +@internalTechnology
1.155 +@deprecated Unused by Symbian code
1.156 +*/
1.157 +typedef TPckgBuf<TSoundInfoV1> TSoundInfoV1Buf;
1.158 +
1.159 +/**
1.160 +@internalTechnology Used by Symbian base ports
1.161 +*/
1.162 +class TOnOffInfoV1
1.163 + {
1.164 +public:
1.165 + TBool iPointerSwitchesOn;
1.166 + TBool iCaseOpenSwitchesOn;
1.167 + TBool iCaseCloseSwitchesOff;
1.168 + };
1.169 +
1.170 +/**
1.171 +@internalTechnology
1.172 +@deprecated Unused by Symbian code
1.173 +*/
1.174 +typedef TPckgBuf<TOnOffInfoV1> TOnOffInfoV1Buf;
1.175 +
1.176 +/**
1.177 +@internalTechnology
1.178 +@removed Unused by Symbian code
1.179 +*/
1.180 +enum TUserMediaFunction {EUserMediaRemount,EUserMediaNotifyChange};
1.181 +
1.182 +
1.183 +
1.184 +
1.185 +//
1.186 +// Hal function enumerations
1.187 +//
1.188 +
1.189 +/**
1.190 +@publishedPartner
1.191 +@released
1.192 +
1.193 +Defines the set of HAL groups.
1.194 +
1.195 +Each HAL group has an associated HAL handler. Note that the
1.196 +HAL handlers for EHalGroupKernel and EHalGroupEmulator are internal
1.197 +to Symbian OS.
1.198 +
1.199 +See the Base Porting Guide documentation in the developer library for
1.200 +more information on HAL groups.
1.201 +*/
1.202 +enum THalFunctionGroup
1.203 + {
1.204 + /**
1.205 + @internalComponent
1.206 +
1.207 + The HAL group associated with kernel related information; for example
1.208 + the reason for the most recent system boot.
1.209 +
1.210 + The function-ids associated with this HAL group are defined by the set
1.211 + of TKernelHalFunction enum values.
1.212 + */
1.213 + EHalGroupKernel=0,
1.214 +
1.215 +
1.216 + /**
1.217 + The HAL group associated with Variant specific hardware.
1.218 +
1.219 + This HAL handler is implemented by the Variant, specifically by
1.220 + the base port's implementation of Asic::VariantHal().
1.221 +
1.222 + The function-ids associated with this HAL group are defined by the set
1.223 + of TVariantHalFunction enum values. See the individual function-ids for
1.224 + the associated capabilities.
1.225 +
1.226 + @see TVariantHalFunction
1.227 + @see Asic::VariantHal()
1.228 + */
1.229 + EHalGroupVariant=1,
1.230 +
1.231 +
1.232 + /**
1.233 + The HAL group associated with the media driver.
1.234 +
1.235 + It is used internally by the media driver LDD.
1.236 +
1.237 + The function-ids associated with this HAL group are defined by the set
1.238 + of TMediaHalFunction enum values. See the individual function-ids for
1.239 + the associated capabilities.
1.240 +
1.241 + @see TMediaHalFunction
1.242 + */
1.243 + EHalGroupMedia=2,
1.244 +
1.245 +
1.246 + /**
1.247 + The HAL group associated with power handling.
1.248 +
1.249 + This HAL handler is implemented by the power model.
1.250 +
1.251 + The function-ids associated with this HAL group are defined by the set
1.252 + of TPowerHalFunction enum values. See the individual function-ids for
1.253 + the associated capabilities.
1.254 +
1.255 + @see TPowerHalFunction
1.256 + */
1.257 + EHalGroupPower=3,
1.258 +
1.259 +
1.260 + /**
1.261 + The HAL group associated with the main screen display.
1.262 +
1.263 + This HAL handler is implemented by the screen (i.e. LCD or video driver).
1.264 +
1.265 + The function-ids associated with this HAL group are defined by the set
1.266 + of TDisplayHalFunction enum values. See the individual function-ids for
1.267 + the associated capabilities.
1.268 +
1.269 + @see TDisplayHalFunction
1.270 + */
1.271 + EHalGroupDisplay=4,
1.272 +
1.273 +
1.274 + /**
1.275 + The HAL group associated with the digitiser (i.e. pen or stylus).
1.276 +
1.277 + This HAL handler is implemented by the digitiser.
1.278 +
1.279 + The function-ids associated with this HAL group are defined by the set
1.280 + of TDigitiserHalFunction enum values. See the individual function-ids for
1.281 + the associated capabilities.
1.282 +
1.283 + @see TDigitiserHalFunction
1.284 + */
1.285 + EHalGroupDigitiser=5,
1.286 +
1.287 +
1.288 + /**
1.289 + The HAL group associated with a sound driver.
1.290 +
1.291 + This group is provided by Symbian OS for backwards compatibility with
1.292 + the Psion Series 5MX devices.
1.293 +
1.294 + The function-ids associated with this HAL group are defined by the set
1.295 + of TSoundHalFunction enum values. See the individual function-ids for
1.296 + the associated capabilities.
1.297 +
1.298 + @see TSoundHalFunction
1.299 + */
1.300 + EHalGroupSound=6,
1.301 +
1.302 +
1.303 + /**
1.304 + The HAL group associated with a mouse-type device.
1.305 +
1.306 + In Symbian OS, the the only example of a mouse device is in the emulator,
1.307 + and this is a port of Symbian OS maintained by Symbian.
1.308 +
1.309 + The function-ids associated with this HAL group are defined by the set
1.310 + of TMouseHalFunction enum values. See the individual function-ids for
1.311 + the associated capabilities.
1.312 +
1.313 + @see TMouseHalFunction
1.314 + */
1.315 + EHalGroupMouse=7,
1.316 +
1.317 +
1.318 + /**
1.319 + @internalComponent
1.320 +
1.321 + The HAL group associated with the emulator.
1.322 +
1.323 + The function-ids associated with this HAL group are defined by the set
1.324 + of TEmulatorHalFunction enum values.
1.325 + */
1.326 + EHalGroupEmulator=8,
1.327 +
1.328 +
1.329 + /**
1.330 + The HAL group associated with the keyboard.
1.331 +
1.332 + This HAL handler is implemented by the keyboard driver.
1.333 +
1.334 + The function-ids associated with this HAL group are defined by the set
1.335 + of TKeyboardHalFunction enum values. See the individual function-ids for
1.336 + the associated capabilities.
1.337 +
1.338 + @see TKeyboardHalFunction
1.339 + */
1.340 + EHalGroupKeyboard=9,
1.341 +
1.342 + /*
1.343 + The HAL group associated with the virtual memory system.
1.344 +
1.345 + The function-ids associated with this HAL group are defined by the set
1.346 + of TVMHalFunction enum values.
1.347 +
1.348 + @see TVMHalFunction
1.349 + */
1.350 + EHalGroupVM=10,
1.351 +
1.352 + /*
1.353 + The HAL group associated with the RAM Zone configuration.
1.354 +
1.355 + The function-ids associated with this HAL group are defined by the set
1.356 + of TRamHalFunction enum values.
1.357 +
1.358 + @see TRamHalFunction
1.359 + */
1.360 + EHalGroupRam=11,
1.361 +
1.362 + /**
1.363 + Reserved for platform specific use.
1.364 + */
1.365 + EHalGroupPlatformSpecific1=29,
1.366 +
1.367 + /**
1.368 + Reserved for platform specific use.
1.369 + */
1.370 + EHalGroupPlatformSpecific2=30
1.371 + };
1.372 +
1.373 +
1.374 +
1.375 +
1.376 +/**
1.377 +@internalComponent
1.378 +*/
1.379 +enum TKernelHalFunction
1.380 + {
1.381 + EKernelHalMemoryInfo,
1.382 + EKernelHalRomInfo,
1.383 + EKernelHalStartupReason,
1.384 + EKernelHalFaultReason,
1.385 + EKernelHalExceptionId,
1.386 + EKernelHalExceptionInfo,
1.387 + EKernelHalCpuInfo,
1.388 + EKernelHalPageSizeInBytes,
1.389 + EKernelHalTickPeriod,
1.390 + EKernelHalMemModelInfo,
1.391 + EKernelHalFastCounterFrequency,
1.392 + EKernelHalNTickPeriod,
1.393 + EKernelHalHardwareFloatingPoint,
1.394 + EKernelHalGetNonsecureClockOffset,
1.395 + EKernelHalSetNonsecureClockOffset,
1.396 + EKernelHalSmpSupported,
1.397 + EKernelHalNumLogicalCpus,
1.398 + EKernelHalSupervisorBarrier,
1.399 + EKernelHalFloatingPointSystemId,
1.400 + EKernelHalLockThreadToCpu,
1.401 + EKernelHalConfigFlags,
1.402 + };
1.403 +
1.404 +
1.405 +
1.406 +
1.407 +/**
1.408 +@publishedPartner
1.409 +@released
1.410 +
1.411 +The set of function-ids that are associated with the EHalGroupVariant
1.412 +HAL group.
1.413 +
1.414 +Each enum value represents a specific characteristic of the Variant,
1.415 +and is passed as the second parameter to
1.416 +the HAL handler function dealing with this group.
1.417 +
1.418 +@see EHalGroupVariant
1.419 +*/
1.420 +enum TVariantHalFunction
1.421 + {
1.422 + /**
1.423 + Gets Variant specifc information.
1.424 +
1.425 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.426 +
1.427 + - TInt aFunction : This enum value.
1.428 +
1.429 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.430 + TVariantInfoV01 structure. The HAL function needs to fill the members of
1.431 + this structure with the appropriate information.
1.432 +
1.433 + - TAny* a2 : NULL.
1.434 +
1.435 + An example of this function can be found in the Variant template;
1.436 + see the function:
1.437 + @code
1.438 + Template::VariantHal()
1.439 + @endcode
1.440 + in
1.441 + @code
1.442 + ...\template\template_variant\specific\variant.cpp
1.443 + @endcode
1.444 +
1.445 + @see TVariantInfoV01
1.446 + @see TPckgBuf
1.447 + */
1.448 + EVariantHalVariantInfo,
1.449 +
1.450 +
1.451 + /**
1.452 + Sets the debug port number.
1.453 +
1.454 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.455 +
1.456 + - TInt aFunction : This enum value.
1.457 +
1.458 + - TAny* a1 : A TInt value containing the debug port number.
1.459 +
1.460 + - TAny* a2 : NULL.
1.461 +
1.462 + An example of this function can be found in the Variant template;
1.463 + see the function:
1.464 + @code
1.465 + Template::VariantHal()
1.466 + @endcode
1.467 + in
1.468 + @code
1.469 + ...\template\template_variant\specific\variant.cpp
1.470 + @endcode
1.471 + */
1.472 + EVariantHalDebugPortSet,
1.473 +
1.474 +
1.475 + /**
1.476 + Gets the debug port number.
1.477 +
1.478 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.479 +
1.480 + - TInt aFunction : This enum value.
1.481 +
1.482 + - TAny* a1 : A TInt value into which the HAL handler puts the debug port value
1.483 +
1.484 + - TAny* a2 : NULL.
1.485 +
1.486 + An example of this function can be found in the Variant template;
1.487 + see the function:
1.488 + @code
1.489 + Template::VariantHal()
1.490 + @endcode
1.491 + in
1.492 + @code
1.493 + ...\template\template_variant\specific\variant.cpp
1.494 + @endcode
1.495 + */
1.496 + EVariantHalDebugPortGet,
1.497 +
1.498 +
1.499 + /**
1.500 + Sets the current state of each LED.
1.501 +
1.502 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.503 +
1.504 + - TInt aFunction : This enum value.
1.505 +
1.506 + - TAny* a1 : A TUint value containing the bitmask that
1.507 + describes the state of the LEDs. For each bit in the mask, 0 = OFF, 1 = ON.
1.508 +
1.509 + - TAny* a2 : NULL.
1.510 +
1.511 + An example of this function can be found in the Variant template;
1.512 + see the function:
1.513 + @code
1.514 + Template::VariantHal()
1.515 + @endcode
1.516 + in
1.517 + @code
1.518 + ...\template\template_variant\specific\variant.cpp
1.519 + @endcode
1.520 + */
1.521 + EVariantHalLedMaskSet,
1.522 +
1.523 +
1.524 + /**
1.525 + Gets the current state of each LED.
1.526 +
1.527 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.528 +
1.529 + - TInt aFunction : This enum value.
1.530 +
1.531 + - TAny* a1 : A TUint value into which the HAL handler puts the bitmask that
1.532 + describes the state of the LEDs. For each bit in the mask, 0 = OFF, 1 = ON.
1.533 +
1.534 + - TAny* a2 : NULL.
1.535 +
1.536 + An example of this function can be found in the Variant template;
1.537 + see the function:
1.538 + @code
1.539 + Template::VariantHal()
1.540 + @endcode
1.541 + in
1.542 + @code
1.543 + ...\template\template_variant\specific\variant.cpp
1.544 + @endcode
1.545 + */
1.546 + EVariantHalLedMaskGet,
1.547 +
1.548 +
1.549 + /**
1.550 + Gets the current state of any Variant specific switches.
1.551 +
1.552 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.553 +
1.554 + - TInt aFunction : This enum value.
1.555 +
1.556 + - TAny* a1 : A TUint value into which the HAL handler puts the bits that
1.557 + describe the state of the switches. The meaning of the switches is entirely
1.558 + hardware dependent.
1.559 +
1.560 + - TAny* a2 : NULL.
1.561 +
1.562 + An example of this function can be found in the Variant template;
1.563 + see the function:
1.564 + @code
1.565 + Template::VariantHal()
1.566 + @endcode
1.567 + in
1.568 + @code
1.569 + ...\template\template_variant\specific\variant.cpp
1.570 + @endcode
1.571 + */
1.572 + EVariantHalSwitches,
1.573 +
1.574 +
1.575 + /**
1.576 + Restarts the system.
1.577 +
1.578 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.579 +
1.580 + - TInt aFunction : This enum value.
1.581 +
1.582 + - TAny* a1 : A TUint value containing the bits defining the custom restart reasons
1.583 + that can be passed to Kern::Restart().
1.584 +
1.585 + - TAny* a2 : NULL.
1.586 +
1.587 + An example of this function can be found in the Variant template;
1.588 + see the function:
1.589 + @code
1.590 + Template::VariantHal()
1.591 + @endcode
1.592 + in
1.593 + @code
1.594 + ...\template\template_variant\specific\variant.cpp
1.595 + @endcode
1.596 +
1.597 + @capability PowerMgmt
1.598 +
1.599 + @see Kern::Restart()
1.600 + */
1.601 + EVariantHalCustomRestart,
1.602 +
1.603 +
1.604 + /**
1.605 + Gets the reason for the system restart.
1.606 +
1.607 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.608 +
1.609 + - TInt aFunction : This enum value.
1.610 +
1.611 + - TAny* a1 : A TInt value into which the handler will put a value
1.612 + representing the restart reason.
1.613 +
1.614 + - TAny* a2 : NULL.
1.615 +
1.616 + An example of this function can be found in the Variant template;
1.617 + see the function:
1.618 + @code
1.619 + Template::VariantHal()
1.620 + @endcode
1.621 + in the file
1.622 + @code
1.623 + ...\template\template_variant\specific\variant.cpp
1.624 + @endcode
1.625 + */
1.626 + EVariantHalCustomRestartReason,
1.627 +
1.628 +
1.629 + /**
1.630 + Gets the current state of the case.
1.631 +
1.632 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.633 +
1.634 + - TInt aFunction : This enum value.
1.635 +
1.636 + - TAny* a1 : A TUint value into which the HAL handler puts a value representing the case state.
1.637 + Possible values are 0 for closed, and 1 for open.
1.638 +
1.639 + - TAny* a2 : NULL.
1.640 +
1.641 + An example of this function can be found in the Variant template;
1.642 + see the function:
1.643 + @code
1.644 + Template::VariantHal()
1.645 + @endcode
1.646 + in
1.647 + @code
1.648 + ...\template\template_variant\specific\variant.cpp
1.649 + @endcode
1.650 + */
1.651 + EVariantHalCaseState,
1.652 +
1.653 +
1.654 + /**
1.655 + Gets the number of screens on this platform.
1.656 +
1.657 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.658 +
1.659 + - TInt aFunction : This enum value.
1.660 +
1.661 + - TAny* a1 : This is a pointer to TInt that will contain the number of screens
1.662 +
1.663 + - TAny* a2 : NULL.
1.664 +
1.665 + */
1.666 + EVariantHalCurrentNumberOfScreens,
1.667 +
1.668 + /**
1.669 + Sets the startup reason for the system restart.
1.670 +
1.671 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.672 +
1.673 + - TInt aFunction : This enum value.
1.674 +
1.675 + - TAny* a1 : A TUint value containing the bits defining the startup mode
1.676 + that will be passed to Kern::Restart().
1.677 +
1.678 + - TAny* a2 : NULL.
1.679 +
1.680 + An example of this function can be found in the Variant template;
1.681 + see the function:
1.682 + @code
1.683 + Template::VariantHal()
1.684 + @endcode
1.685 + in
1.686 + @code
1.687 + ...\template\template_variant\specific\variant.cpp
1.688 + @endcode
1.689 +
1.690 + @capability WriteDeviceData
1.691 +
1.692 + @see Kern::Restart()
1.693 + */
1.694 + EVariantHalPersistStartupMode,
1.695 +
1.696 + /**
1.697 + Gets the startup mode after a system restart.
1.698 +
1.699 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.700 +
1.701 + - TInt aFunction : This enum value.
1.702 +
1.703 + - TAny* a1 : A TInt that will hold the returned value
1.704 +
1.705 + - TAny* a2 : NULL.
1.706 +
1.707 + An example of this function can be found in the Variant template;
1.708 + see the function:
1.709 + @code
1.710 + Template::VariantHal()
1.711 + @endcode
1.712 + in the file
1.713 + @code
1.714 + ...\template\template_variant\specific\variant.cpp
1.715 + @endcode
1.716 + */
1.717 + EVariantHalGetPersistedStartupMode,
1.718 +
1.719 + /**
1.720 + Returns the maximum number of values that can be used to store the startup reason required for a custom restart.
1.721 +
1.722 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.723 +
1.724 + - TInt aFunction : This enum value.
1.725 +
1.726 + - TAny* a1 : A TInt that will hold the returned value
1.727 +
1.728 + - TAny* a2 : NULL.
1.729 +
1.730 + An example of this function can be found in the Variant template;
1.731 + see the function:
1.732 + @code
1.733 + Template::VariantHal()
1.734 + @endcode
1.735 + in
1.736 + @code
1.737 + ...\template\template_variant\specific\variant.cpp
1.738 + @endcode
1.739 + */
1.740 + EVariantHalGetMaximumCustomRestartReasons,
1.741 +
1.742 + /**
1.743 + Returns the maximum number of values that can be used to store the startup mode required for a transition to
1.744 + a EPwRestart power state.
1.745 +
1.746 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.747 +
1.748 + - TInt aFunction : This enum value.
1.749 +
1.750 + - TAny* a1 : A TInt that will hold the returned value
1.751 +
1.752 + - TAny* a2 : NULL.
1.753 +
1.754 + An example of this function can be found in the Variant template;
1.755 + see the function:
1.756 + @code
1.757 + Template::VariantHal()
1.758 + @endcode
1.759 + in
1.760 + @code
1.761 + ...\template\template_variant\specific\variant.cpp
1.762 + @endcode
1.763 + */
1.764 + EVariantHalGetMaximumRestartStartupModes,
1.765 +
1.766 + /**
1.767 + Returns a factor by which timeouts in test code should be expanded for
1.768 + exceptionally slow platforms (e.g. with cores implemented in FPGA).
1.769 +
1.770 + If this is not supported the factor should be assumed to be 1.
1.771 + */
1.772 + EVariantHalTimeoutExpansion,
1.773 +
1.774 + /**
1.775 + Returns a serial number as an Int
1.776 + */
1.777 + EVariantHalSerialNumber,
1.778 +
1.779 + /**
1.780 + Returns the interrupt used by sampling profiler - applicable for SMP only.
1.781 + Each CPU_i is interrupted by interrupt number ECpuProfilingInterrupt + i
1.782 + */
1.783 + EVariantHalProfilingDefaultInterruptBase
1.784 +
1.785 + };
1.786 +
1.787 +
1.788 +
1.789 +
1.790 +/**
1.791 +@publishedPartner
1.792 +@released
1.793 +
1.794 +The set of function-ids that are associated with the EHalGroupMedia
1.795 +HAL group.
1.796 +
1.797 +Each enum value represents a specific characteristic of the media driver,
1.798 +and is passed as the second parameter to
1.799 +the HAL handler function dealing with this group.
1.800 +
1.801 +@see EHalGroupMedia
1.802 +*/
1.803 +enum TMediaHalFunction
1.804 + {
1.805 + /**
1.806 + Gets drive information.
1.807 +
1.808 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.809 +
1.810 + - TInt aFunction : This enum value.
1.811 +
1.812 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.813 + TDriveInfoV1 structure. The HAL function needs to fill the members of
1.814 + this structure with the appropriate information.
1.815 +
1.816 + - TAny* a2 : NULL.
1.817 +
1.818 + Note that the HAL handler is implemented by Symbian OS
1.819 +
1.820 + @see TDriveInfoV1
1.821 + @see TPckgBuf
1.822 + */
1.823 + EMediaHalDriveInfo,
1.824 +
1.825 + /**
1.826 + @internalTechnology
1.827 + @test
1.828 + */
1.829 + EMediaHalGetROMConcurrencyInfo,
1.830 +
1.831 + /**
1.832 + @internalTechnology
1.833 + @test
1.834 + */
1.835 + EMediaHalGetCodeConcurrencyInfo,
1.836 +
1.837 + /**
1.838 + @internalTechnology
1.839 + @test
1.840 + */
1.841 + EMediaHalResetConcurrencyInfo,
1.842 +
1.843 + /**
1.844 + @internalTechnology
1.845 + @test
1.846 + */
1.847 + EMediaHalGetROMPagingBenchmark,
1.848 +
1.849 + /**
1.850 + @internalTechnology
1.851 + @test
1.852 + */
1.853 + EMediaHalGetCodePagingBenchmark,
1.854 +
1.855 + /**
1.856 + @internalTechnology
1.857 + @test
1.858 + */
1.859 + EMediaHalResetPagingBenchmark,
1.860 +
1.861 + /**
1.862 + @internalTechnology
1.863 + @test
1.864 + */
1.865 + EMediaHalGetDataConcurrencyInfo,
1.866 +
1.867 + /**
1.868 + @internalTechnology
1.869 + @test
1.870 + */
1.871 + EMediaHalGetDataInPagingBenchmark,
1.872 +
1.873 + /**
1.874 + @internalTechnology
1.875 + @test
1.876 + */
1.877 + EMediaHalGetDataOutPagingBenchmark,
1.878 +
1.879 + /**
1.880 + @internalTechnology
1.881 + @test
1.882 + */
1.883 + EMediaHalGetPagingInfo,
1.884 + };
1.885 +
1.886 +
1.887 +
1.888 +
1.889 +/**
1.890 +@publishedPartner
1.891 +@released
1.892 +
1.893 +The set of function-ids that are associated with the EHalGroupPower
1.894 +HAL group.
1.895 +
1.896 +Each enum value represents a specific aspect of power handling on the device.
1.897 +
1.898 +@see EHalGroupPower
1.899 +*/
1.900 +enum TPowerHalFunction
1.901 + {
1.902 +
1.903 + /**
1.904 + This is used internally by Symbian
1.905 + */
1.906 + EPowerHalOnOffInfo,
1.907 +
1.908 +
1.909 + /**
1.910 + This is not currently used.
1.911 + */
1.912 + EPowerHalSupplyInfo,
1.913 +
1.914 +
1.915 + /**
1.916 + This is not currently used.
1.917 +
1.918 + @capability PowerMgmt
1.919 + */
1.920 + EPowerHalSetAutoSwitchOffBehavior,
1.921 +
1.922 +
1.923 + /**
1.924 + This is not currently used.
1.925 + */
1.926 + EPowerHalAutoSwitchOffBehavior,
1.927 +
1.928 +
1.929 + /**
1.930 + This is not currently used.
1.931 +
1.932 + @capability PowerMgmt
1.933 + */
1.934 + EPowerHalSetAutoSwitchOffTime,
1.935 +
1.936 +
1.937 + /**
1.938 + This is not currently used.
1.939 + */
1.940 + EPowerHalAutoSwitchOffTime,
1.941 +
1.942 +
1.943 + /**
1.944 + This is not currently used.
1.945 +
1.946 + @capability PowerMgmt
1.947 + */
1.948 + EPowerHalResetAutoSwitchOffTimer,
1.949 +
1.950 +
1.951 + /**
1.952 + Switches the device off.
1.953 +
1.954 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.955 +
1.956 + - TInt aFunction : This enum value.
1.957 +
1.958 + - TAny* a1 : NULL.
1.959 +
1.960 + - TAny* a2 : NULL.
1.961 +
1.962 + @capability PowerMgmt
1.963 + */
1.964 + EPowerHalSwitchOff,
1.965 +
1.966 +
1.967 + /**
1.968 + Sets whether touching the screen with a pen or stylus will cause
1.969 + the device to switch on.
1.970 +
1.971 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.972 +
1.973 + - TInt aFunction : This enum value.
1.974 +
1.975 + - TAny* a1 : A TBool that needs to be set to ETrue (if touching the screen
1.976 + is to cause a power on), or EFalse (if touching the screen is not to cause
1.977 + a power on).
1.978 +
1.979 + - TAny* a2 : NULL.
1.980 +
1.981 + @capability WriteDeviceData
1.982 + */
1.983 + EPowerHalSetPointerSwitchesOn,
1.984 +
1.985 +
1.986 + /**
1.987 + Tests whether touching the screen with a pen or stylus will cause
1.988 + the device to switch on.
1.989 +
1.990 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.991 +
1.992 + - TInt aFunction : This enum value.
1.993 +
1.994 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (if touching
1.995 + the screen will cause a power on), or EFalse (if touching the screen will
1.996 + not cause a power on).
1.997 +
1.998 + - TAny* a2 : NULL.
1.999 + */
1.1000 + EPowerHalPointerSwitchesOn,
1.1001 +
1.1002 +
1.1003 + /**
1.1004 + Sets whether the opening of a 'device case' will cause
1.1005 + the device to switch on.
1.1006 +
1.1007 + Note that the meaning attached to a 'device case' depends on the hardware.
1.1008 +
1.1009 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1010 +
1.1011 + - TInt aFunction : This enum value.
1.1012 +
1.1013 + - TAny* a1 : A TBool that needs to be set to ETrue (if opening
1.1014 + the case is to cause a power on), or EFalse (if opening
1.1015 + the case is not to cause a power on).
1.1016 +
1.1017 + - TAny* a2 : NULL.
1.1018 +
1.1019 + @capability WriteDeviceData
1.1020 + */
1.1021 + EPowerHalSetCaseOpenSwitchesOn,
1.1022 +
1.1023 +
1.1024 + /**
1.1025 + Tests whether the opening of a 'device case' will cause
1.1026 + the device to switch on.
1.1027 +
1.1028 + Note that the meaning attached to a 'device case' depends on the hardware.
1.1029 +
1.1030 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1031 +
1.1032 + - TInt aFunction : This enum value.
1.1033 +
1.1034 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (if opening
1.1035 + the case will cause a power on), or EFalse (if opening
1.1036 + the case will not cause a power on).
1.1037 +
1.1038 + - TAny* a2 : NULL.
1.1039 + */
1.1040 + EPowerHalCaseOpenSwitchesOn,
1.1041 +
1.1042 +
1.1043 + /**
1.1044 + Sets whether the closing of a 'device case' will cause
1.1045 + the device to switch off.
1.1046 +
1.1047 + Note that the meaning attached to a 'device case' depends on the hardware.
1.1048 +
1.1049 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1050 +
1.1051 + - TInt aFunction : This enum value.
1.1052 +
1.1053 + - TAny* a1 : A TBool that needs to be set to ETrue (if closing
1.1054 + the case is to cause a power off), or EFalse (if closing
1.1055 + the case is not to cause a power off).
1.1056 +
1.1057 + - TAny* a2 : NULL.
1.1058 +
1.1059 + @capability WriteDeviceData
1.1060 + */
1.1061 + EPowerHalSetCaseCloseSwitchesOff,
1.1062 +
1.1063 +
1.1064 + /**
1.1065 + Tests whether the closing of a 'device case' will cause
1.1066 + the device to switch off.
1.1067 +
1.1068 + Note that the meaning attached to a 'device case' depends on the hardware.
1.1069 +
1.1070 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1071 +
1.1072 + - TInt aFunction : This enum value.
1.1073 +
1.1074 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (if closing
1.1075 + the case will cause a power off), or EFalse (if closing
1.1076 + the case will not cause a power off).
1.1077 +
1.1078 + - TAny* a2 : NULL.
1.1079 + */
1.1080 + EPowerHalCaseCloseSwitchesOff,
1.1081 +
1.1082 +
1.1083 + /**
1.1084 + This is not currently used.
1.1085 +
1.1086 + @capability PowerMgmt
1.1087 + */
1.1088 + EPowerHalSetBatteryType,
1.1089 +
1.1090 +
1.1091 + /**
1.1092 + This is not currently used.
1.1093 + */
1.1094 + EPowerHalBatteryType,
1.1095 +
1.1096 +
1.1097 + /**
1.1098 + This is not currently used.
1.1099 +
1.1100 + @capability PowerMgmt
1.1101 + */
1.1102 + EPowerHalSetBatteryCapacity,
1.1103 +
1.1104 +
1.1105 + /**
1.1106 + This is not currently used.
1.1107 + */
1.1108 + EPowerHalBatteryCapacity,
1.1109 +
1.1110 +
1.1111 + /**
1.1112 + This is not currently used.
1.1113 + */
1.1114 + EPowerHalAutoSwitchOffType,
1.1115 +
1.1116 +
1.1117 + /**
1.1118 + This is used internally by Symbian.
1.1119 + */
1.1120 + EPowerHalTestBootSequence,
1.1121 +
1.1122 +
1.1123 + /**
1.1124 + Tests whether a backup power supply is present or not.
1.1125 +
1.1126 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1127 +
1.1128 + - TInt aFunction : This enum value.
1.1129 +
1.1130 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (if backup
1.1131 + power is present), or EFalse (if backup power is not present).
1.1132 +
1.1133 + - TAny* a2 : NULL.
1.1134 + */
1.1135 + EPowerHalBackupPresent,
1.1136 +
1.1137 +
1.1138 + /**
1.1139 + Tests whether accessory power is present or not.
1.1140 +
1.1141 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1142 +
1.1143 + - TInt aFunction : This enum value.
1.1144 +
1.1145 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (if accessory
1.1146 + power is present), or EFalse (if accessory power is not present).
1.1147 +
1.1148 + - TAny* a2 : NULL.
1.1149 + */
1.1150 + EPowerHalAcessoryPowerPresent,
1.1151 + };
1.1152 +
1.1153 +
1.1154 +
1.1155 +
1.1156 +/**
1.1157 +@publishedPartner
1.1158 +@released
1.1159 +
1.1160 +The set of function-ids that are associated with the EHalGroupDisplay
1.1161 +HAL group.
1.1162 +
1.1163 +Each enum value represents a specific characteristic of the hardware display,
1.1164 +i.e. the screen or the LCD, and is passed as the second parameter to
1.1165 +the HAL handler function dealing with this group.
1.1166 +
1.1167 +@see EHalGroupDisplay
1.1168 +*/
1.1169 +enum TDisplayHalFunction
1.1170 + {
1.1171 +
1.1172 + /**
1.1173 + Gets the screen display properties.
1.1174 +
1.1175 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1176 +
1.1177 + - TInt aFunction : This enum value.
1.1178 +
1.1179 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1180 + TScreenInfoV01 structure. The HAL function needs to fill the members of
1.1181 + this structure with the appropriate information.
1.1182 +
1.1183 + - TAny* a2 : NULL.
1.1184 +
1.1185 + For example:
1.1186 + @code
1.1187 + ...
1.1188 + case EDisplayHalScreenInfo:
1.1189 + TPckgBuf<TScreenInfoV01> vPckg;
1.1190 + // Fill details
1.1191 + Kern::InfoCopy(*(TDes8*)a1,vPckg);
1.1192 + ...
1.1193 + @endcode
1.1194 +
1.1195 + @see TScreenInfoV01
1.1196 + @see TPckgBuf
1.1197 + */
1.1198 + EDisplayHalScreenInfo,
1.1199 +
1.1200 +
1.1201 + /**
1.1202 + Registers whether it is the Window Server's responsibility to turn
1.1203 + the screen display on or off.
1.1204 +
1.1205 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1206 +
1.1207 + - TInt aFunction : This enum value.
1.1208 +
1.1209 + - TAny* a1 : This is a TBool value that needs to be set to ETrue or EFalse.
1.1210 +
1.1211 + - TAny* a2 : NULL.
1.1212 +
1.1213 + For example:
1.1214 + @code
1.1215 + ...
1.1216 + case EDisplayHalWsRegisterSwitchOnScreenHandling:
1.1217 + iWsSwitchOnScreen=(TBool)a1;
1.1218 + ...
1.1219 + @endcode
1.1220 +
1.1221 + @see TBool
1.1222 + */
1.1223 + EDisplayHalWsRegisterSwitchOnScreenHandling,
1.1224 +
1.1225 +
1.1226 + /**
1.1227 + Requests that the Window Server turn the screen display on.
1.1228 +
1.1229 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1230 +
1.1231 + - TInt aFunction : This enum value.
1.1232 +
1.1233 + - TAny* a1 : NULL
1.1234 +
1.1235 + - TAny* a2 : NULL
1.1236 + */
1.1237 + EDisplayHalWsSwitchOnScreen,
1.1238 +
1.1239 +
1.1240 + /**
1.1241 + Gets the maximum screen display contrast value.
1.1242 +
1.1243 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1244 +
1.1245 + - TInt aFunction : This enum value.
1.1246 +
1.1247 + - TAny* a1 : A TInt value into which the HAL handler puts the maximum
1.1248 + display contrast value.
1.1249 +
1.1250 + - TAny* a2 : NULL
1.1251 + */
1.1252 + EDisplayHalMaxDisplayContrast,
1.1253 +
1.1254 +
1.1255 + /**
1.1256 + Sets the screen display contrast value.
1.1257 +
1.1258 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1259 +
1.1260 + - TInt aFunction : This enum value.
1.1261 +
1.1262 + - TAny* a1 : A TInt value containing the display contrast value.
1.1263 + Typically, this needs to lie within a range that is valid for the device.
1.1264 +
1.1265 + - TAny* a2 : NULL
1.1266 +
1.1267 + @capability WriteDeviceData
1.1268 + */
1.1269 + EDisplayHalSetDisplayContrast,
1.1270 +
1.1271 +
1.1272 + /**
1.1273 + Gets the screen display's current contrast value.
1.1274 +
1.1275 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1276 +
1.1277 + - TInt aFunction : This enum value.
1.1278 +
1.1279 + - TAny* a1 : A TInt value into which the HAL handler puts the
1.1280 + display contrast value.
1.1281 +
1.1282 + - TAny* a2 : NULL
1.1283 + */
1.1284 + EDisplayHalDisplayContrast,
1.1285 +
1.1286 +
1.1287 + /**
1.1288 + Sets the backlight behaviour.
1.1289 +
1.1290 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1291 +
1.1292 + - TInt aFunction : This enum value.
1.1293 +
1.1294 + - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1.1295 +
1.1296 + - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1.1297 +
1.1298 + @capability WriteDeviceData
1.1299 + */
1.1300 + EDisplayHalSetBacklightBehavior,
1.1301 +
1.1302 +
1.1303 + /**
1.1304 + Gets information about the backlight behaviour.
1.1305 +
1.1306 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1307 +
1.1308 + - TInt aFunction : This enum value.
1.1309 +
1.1310 + - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1.1311 +
1.1312 + - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1.1313 + */
1.1314 + EDisplayHalBacklightBehavior,
1.1315 +
1.1316 +
1.1317 + /**
1.1318 + Sets the backlight timeout value, i.e. the length of time that the backlight
1.1319 + will stay on.
1.1320 +
1.1321 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1322 +
1.1323 + - TInt aFunction : This enum value.
1.1324 +
1.1325 + - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1.1326 +
1.1327 + - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1.1328 +
1.1329 + @capability WriteDeviceData
1.1330 + */
1.1331 + EDisplayHalSetBacklightOnTime,
1.1332 +
1.1333 +
1.1334 + /**
1.1335 + Gets information about the backlight timeout value, i.e. the length
1.1336 + of time that the backlight will stay on.
1.1337 +
1.1338 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1339 +
1.1340 + - TInt aFunction : This enum value.
1.1341 +
1.1342 + - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1.1343 +
1.1344 + - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1.1345 + */
1.1346 + EDisplayHalBacklightOnTime,
1.1347 +
1.1348 +
1.1349 + /**
1.1350 + Sets the backlight on or off.
1.1351 +
1.1352 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1353 +
1.1354 + - TInt aFunction : This enum value.
1.1355 +
1.1356 + - TAny* a1 : A TBool that needs to be set to ETrue or EFalse.
1.1357 +
1.1358 + - TAny* a2 : NULL
1.1359 +
1.1360 + @capability WriteDeviceData
1.1361 + */
1.1362 + EDisplayHalSetBacklightOn,
1.1363 +
1.1364 +
1.1365 + /**
1.1366 + Gets the current state of the backlight.
1.1367 +
1.1368 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1369 +
1.1370 + - TInt aFunction : This enum value.
1.1371 +
1.1372 + - TAny* a1 : A TBool into which the HAL handler
1.1373 + puts ETrue (for On) or EFalse (for Off).
1.1374 +
1.1375 + - TAny* a2 : NULL
1.1376 + */
1.1377 + EDisplayHalBacklightOn,
1.1378 +
1.1379 +
1.1380 + /**
1.1381 + Gets the screen display's maximum brightness value.
1.1382 +
1.1383 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1384 +
1.1385 + - TInt aFunction : This enum value.
1.1386 +
1.1387 + - TAny* a1 : A TInt value into which the HAL handler puts the
1.1388 + maximum brightness value.
1.1389 +
1.1390 + - TAny* a2 : NULL
1.1391 + */
1.1392 + EDisplayHalMaxDisplayBrightness,
1.1393 +
1.1394 +
1.1395 + /**
1.1396 + Sets the screen display's brightness value.
1.1397 +
1.1398 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1399 +
1.1400 + - TInt aFunction : This enum value.
1.1401 +
1.1402 + - TAny* a1 : A TInt value containing the brightness value.
1.1403 + Typically, this needs to lie within a range that is valid for the device.
1.1404 +
1.1405 + - TAny* a2 : NULL
1.1406 +
1.1407 + @capability WriteDeviceData
1.1408 + */
1.1409 + EDisplayHalSetDisplayBrightness,
1.1410 +
1.1411 +
1.1412 + /**
1.1413 + Gets the screen display's current brightness value.
1.1414 +
1.1415 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1416 +
1.1417 + - TInt aFunction : This enum value.
1.1418 +
1.1419 + - TAny* a1 : A TInt value into which the HAL handler puts the
1.1420 + brightness value.
1.1421 +
1.1422 + - TAny* a2 : NULL
1.1423 + */
1.1424 + EDisplayHalDisplayBrightness,
1.1425 +//
1.1426 +
1.1427 + /**
1.1428 + Gets the number of available display modes.
1.1429 +
1.1430 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1431 +
1.1432 + - TInt aFunction : This enum value.
1.1433 +
1.1434 + - TAny* a1 : A TInt value into which the HAL handler puts the
1.1435 + number of display modes value.
1.1436 +
1.1437 + - TAny* a2 : NULL
1.1438 + */
1.1439 + EDisplayHalModeCount,
1.1440 +
1.1441 +
1.1442 + /**
1.1443 + Sets the display mode.
1.1444 +
1.1445 + This will normally update the information maintained by the screen driver
1.1446 + in the form of a TScreenInfoV01 struct.
1.1447 +
1.1448 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1449 +
1.1450 + - TInt aFunction : This enum value.
1.1451 +
1.1452 + - TAny* a1 : A TInt value containing a number representing the display mode.
1.1453 + Typically, this needs to lie within a range that is valid for the device.
1.1454 + For example, the value usually needs to be positive, and be less than
1.1455 + the number of display modes.
1.1456 +
1.1457 + - TAny* a2 : NULL
1.1458 +
1.1459 + @capability MultimediaDD
1.1460 +
1.1461 + @see TScreenInfoV01
1.1462 + */
1.1463 + EDisplayHalSetMode,
1.1464 +
1.1465 +
1.1466 + /**
1.1467 + Gets the current screen display mode.
1.1468 +
1.1469 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1470 +
1.1471 + - TInt aFunction : This enum value.
1.1472 +
1.1473 + - TAny* a1 : A TInt value into which the HAL handler puts the
1.1474 + the current display mode value.
1.1475 +
1.1476 + - TAny* a2 : NULL
1.1477 + */
1.1478 + EDisplayHalMode,
1.1479 +
1.1480 +
1.1481 + /**
1.1482 + Sets a colour value for the specified palette entry.
1.1483 +
1.1484 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1485 +
1.1486 + - TInt aFunction : This enum value.
1.1487 +
1.1488 + - TAny* a1 : A TInt value that identifies the palette entry. The value
1.1489 + occupies the junior 8 bits of the integer. The senior 24 bits are all 0.
1.1490 +
1.1491 + - TAny* a2 : A TInt value containing the colour value; it represents
1.1492 + a standard Symbian OS RGB colour value, and occupies the junior 24 bits
1.1493 + of the integer. The senior 8 bits are not defined.
1.1494 +
1.1495 + @capability MultimediaDD
1.1496 + */
1.1497 + EDisplayHalSetPaletteEntry,
1.1498 +
1.1499 +
1.1500 + /**
1.1501 + Gets the colour value for the specified palette entry.
1.1502 +
1.1503 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1504 +
1.1505 + - TInt aFunction : This enum value.
1.1506 +
1.1507 + - TAny* a1 : A TInt value that identifies the palette entry. The value
1.1508 + is expected to occupy the junior 8 bits of the integer. The senior 24 bits
1.1509 + are not defined.
1.1510 +
1.1511 + - TAny* a2 : On return from the HAL function, a TInt value containing
1.1512 + the colour value. The value occupies the junior 24 bits of the integer.
1.1513 + The senior 8 bits are not defined.
1.1514 + */
1.1515 + EDisplayHalPaletteEntry,
1.1516 +
1.1517 +
1.1518 + /**
1.1519 + Sets the screen display on or off.
1.1520 +
1.1521 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1522 +
1.1523 + - TInt aFunction : This enum value.
1.1524 +
1.1525 + - TAny* a1 : A TBool that needs to be set to ETrue (for On),
1.1526 + or EFalse (for Off).
1.1527 +
1.1528 + - TAny* a2 : NULL.
1.1529 +
1.1530 + @capability PowerMgmt
1.1531 + */
1.1532 + EDisplayHalSetState,
1.1533 +
1.1534 +
1.1535 + /**
1.1536 + Gets the state of the screen display, i.e. whether the display is on or off.
1.1537 +
1.1538 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1539 +
1.1540 + - TInt aFunction : This enum value.
1.1541 +
1.1542 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (for On),
1.1543 + or EFalse (for Off).
1.1544 +
1.1545 + - TAny* a2 : NULL.
1.1546 + */
1.1547 + EDisplayHalState,
1.1548 +
1.1549 +
1.1550 + /**
1.1551 + Gets the maximum number of colours that the screen display supports.
1.1552 +
1.1553 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1554 +
1.1555 + - TInt aFunction : This enum value.
1.1556 +
1.1557 + - TAny* a1 : A TInt value into which the HAL handler puts the maximum
1.1558 + number of colours.
1.1559 +
1.1560 + - TAny* a2 : NULL
1.1561 + */
1.1562 + EDisplayHalColors,
1.1563 +
1.1564 +
1.1565 + /**
1.1566 + Gets information about the current display mode.
1.1567 +
1.1568 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1569 +
1.1570 + - TInt aFunction : This enum value.
1.1571 +
1.1572 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1573 + TVideoInfoV01 structure. The HAL function needs to fill the members of
1.1574 + this structure with the appropriate information.
1.1575 +
1.1576 + - TAny* a2 : NULL.
1.1577 +
1.1578 + @see TVideoInfoV01
1.1579 + @see TPckgBuf
1.1580 + */
1.1581 + EDisplayHalCurrentModeInfo,
1.1582 +
1.1583 +
1.1584 + /**
1.1585 + Gets information about the specified display mode.
1.1586 +
1.1587 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1588 +
1.1589 + - TInt aFunction : This enum value.
1.1590 +
1.1591 + - TAny* a1 : A TInt value containing the number of the display mode for which
1.1592 + information is to be fetched.
1.1593 +
1.1594 + - TAny* a2 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1595 + TVideoInfoV01 structure. The HAL function needs to fill the members of
1.1596 + this structure with the appropriate information.
1.1597 +
1.1598 + @see TVideoInfoV01
1.1599 + @see TPckgBuf
1.1600 + */
1.1601 + EDisplayHalSpecifiedModeInfo,
1.1602 +
1.1603 +// EDisplaySwitchOffScreen,
1.1604 +
1.1605 +
1.1606 + /**
1.1607 + Fills/copies an area of the screen display with a rectangle of a specified colour.
1.1608 +
1.1609 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1610 +
1.1611 + - TInt aFunction : This enum value.
1.1612 +
1.1613 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1614 + SRectOpInfo structure. The structure contains the information that
1.1615 + is needed for the operation.
1.1616 +
1.1617 + - TAny* a1 : NULL.
1.1618 +
1.1619 + @see SRectOpInfo
1.1620 + @see TPckgBuf
1.1621 + */
1.1622 + EDisplayHalBlockFill,
1.1623 +
1.1624 +
1.1625 + /**
1.1626 + Fills/copies an area of the screen display with a rectangle of a specified colour.
1.1627 +
1.1628 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1629 +
1.1630 + - TInt aFunction : This enum value.
1.1631 +
1.1632 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1633 + SRectOpInfo structure. The structure contains the information that
1.1634 + is needed for the operation.
1.1635 +
1.1636 + - TAny* a1 : NULL.
1.1637 +
1.1638 + @see SRectOpInfo
1.1639 + @see TPckgBuf
1.1640 + */
1.1641 + EDisplayHalBlockCopy,
1.1642 +
1.1643 +
1.1644 + /**
1.1645 + Tests whether the screen display is secure.
1.1646 +
1.1647 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1648 +
1.1649 + - TInt aFunction : This enum value.
1.1650 +
1.1651 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (for secure mode),
1.1652 + or EFalse (for non-secure mode).
1.1653 +
1.1654 + - TAny* a2 : NULL.
1.1655 + */
1.1656 + EDisplayHalSecure,
1.1657 +
1.1658 +
1.1659 + /**
1.1660 + Sets the screen display into secure or non-secure mode.
1.1661 +
1.1662 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1663 +
1.1664 + - TInt aFunction : This enum value.
1.1665 +
1.1666 + - TAny* a1 : A TBool that needs to be set to ETrue (for secure mode),
1.1667 + or EFalse (for non-secure mode).
1.1668 +
1.1669 + - TAny* a2 : NULL.
1.1670 +
1.1671 + @capability MultimediaDD
1.1672 + */
1.1673 + EDisplayHalSetSecure,
1.1674 +
1.1675 +
1.1676 + /**
1.1677 + Gets the address of the DSA buffer
1.1678 +
1.1679 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1680 +
1.1681 + - TInt aFunction : This enum value.
1.1682 +
1.1683 + - TAny* a1 : A TInt value into which the HAL handler puts the address
1.1684 +
1.1685 + - TAny* a2 : NULL
1.1686 + */
1.1687 + EDisplayHalGetDisplayMemoryAddress,
1.1688 + /**
1.1689 + Gets a handle to the DSA buffer memory
1.1690 +
1.1691 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1692 +
1.1693 + - TInt aFunction : This enum value.
1.1694 +
1.1695 + - TAny* a1 : A TInt value into which the HAL handler puts the handle value
1.1696 +
1.1697 + - TAny* a2 : NULL
1.1698 + */
1.1699 + EDisplayHalGetDisplayMemoryHandle,
1.1700 +
1.1701 +
1.1702 + /**
1.1703 + Ask how many resolutions there are on a specific screen
1.1704 +
1.1705 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1706 +
1.1707 + - TInt aFunction : This enum value.
1.1708 +
1.1709 + - TAny* a1 : A TInt reference to pass back the number of resolutions.
1.1710 +
1.1711 + - TAny* a2 : NULL.
1.1712 +
1.1713 + @capability MultimediaDD
1.1714 + */
1.1715 + EDisplayHalNumberOfResolutions,
1.1716 +
1.1717 +
1.1718 + /**
1.1719 + Gets information on a specific configuration for a particular screen
1.1720 +
1.1721 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1722 +
1.1723 + - TInt aFunction : This enum value.
1.1724 +
1.1725 + - TAny* a1 : A TInt configuration index to get back.
1.1726 +
1.1727 + - TAny* a2 : A TVideoInfoV01 descriptor to get the info back.
1.1728 +
1.1729 + @capability MultimediaDD
1.1730 + */
1.1731 + EDisplayHalSpecificScreenInfo,
1.1732 +
1.1733 +
1.1734 + /**
1.1735 + Gets info on the current configuration for a particular screen
1.1736 +
1.1737 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1738 +
1.1739 + - TInt aFunction : This enum value.
1.1740 +
1.1741 + - TAny* a1 : A TVideoInfoV01 descriptor to get the info back.
1.1742 +
1.1743 + - TAny* a2 : NULL.
1.1744 +
1.1745 + @capability MultimediaDD
1.1746 + */
1.1747 + EDisplayHalCurrentScreenInfo,
1.1748 +
1.1749 +
1.1750 + /**
1.1751 + Sets the screen display into a predefined state.
1.1752 +
1.1753 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1754 +
1.1755 + - TInt aFunction : This enum value.
1.1756 +
1.1757 + - TAny* a1 : A TInt that is one of the value of TDisplayState enum
1.1758 +
1.1759 + - TAny* a2 : NULL.
1.1760 +
1.1761 + @capability MultimediaDD
1.1762 + */
1.1763 + EDisplayHalSetDisplayState,
1.1764 +
1.1765 + /**
1.1766 + Gets the spinner of screen display state.
1.1767 +
1.1768 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1769 +
1.1770 + - TInt aFunction : This enum value.
1.1771 +
1.1772 + - TAny* a1 : A TInt which is set to the spinner value on return
1.1773 +
1.1774 + - TAny* a2 : NULL.
1.1775 +
1.1776 + @capability MultimediaDD
1.1777 + */
1.1778 + EDisplayHalGetStateSpinner,
1.1779 + };
1.1780 +
1.1781 +/**
1.1782 +@internalComponent
1.1783 +@test
1.1784 +The set of display state ids that are associated with EDisplayHalSetDisplayState
1.1785 +
1.1786 +@see EDisplayHalSetDisplayState
1.1787 +*/
1.1788 +
1.1789 +enum TDisplayConnectState
1.1790 + {
1.1791 + ENormalResolution,
1.1792 + ENoResolution,
1.1793 + EDisconnect,
1.1794 + ESingleResolution,
1.1795 + EDisplayStateTooHigh
1.1796 + };
1.1797 +
1.1798 +/**
1.1799 +@publishedPartner
1.1800 +@released
1.1801 +
1.1802 +The set of function-ids that are associated with the EHalGroupDigitiser
1.1803 +HAL group.
1.1804 +
1.1805 +Each enum value represents a specific characteristic of the digitiser,
1.1806 +and is passed as the second parameter to the HAL handler function
1.1807 +dealing with this group.
1.1808 +
1.1809 +@see EHalGroupDigitiser
1.1810 +*/
1.1811 +enum TDigitiserHalFunction
1.1812 + {
1.1813 +
1.1814 + /**
1.1815 + Sets the calibration data (i.e. the values of the digitiser to
1.1816 + screen constants) for the digitiser device.
1.1817 +
1.1818 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1819 +
1.1820 + - TInt aFunction : This enum value.
1.1821 +
1.1822 + - TAny* a1 : A pointer to a TDigitizerCalibration object.
1.1823 +
1.1824 + - TAny* a2 : NULL
1.1825 +
1.1826 + @see TDigitizerCalibration
1.1827 +
1.1828 + @capability WriteDeviceData
1.1829 + */
1.1830 + EDigitiserHalSetXYInputCalibration,
1.1831 +
1.1832 +
1.1833 + /**
1.1834 + Gets the calibration data (i.e. the values of the digitiser to
1.1835 + screen constants) for the digitiser device.
1.1836 +
1.1837 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1838 +
1.1839 + - TInt aFunction : This enum value.
1.1840 +
1.1841 + - TAny* a1 : A pointer to a TDigitizerCalibration object; the HAL function
1.1842 + needs to fill the members of this structure with
1.1843 + the appropriate information.
1.1844 +
1.1845 + - TAny* a2 : NULL
1.1846 +
1.1847 + @see TDigitizerCalibration
1.1848 + */
1.1849 + EDigitiserHalCalibrationPoints,
1.1850 +
1.1851 +
1.1852 + /**
1.1853 + Saves the calibration data (i.e. the values of the digitiser to
1.1854 + screen constants) for the digitiser device in a persistent memory area so
1.1855 + that they can be restored after a power cycle.
1.1856 +
1.1857 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1858 +
1.1859 + - TInt aFunction : This enum value.
1.1860 +
1.1861 + - TAny* a1 : NULL.
1.1862 +
1.1863 + - TAny* a2 : NULL
1.1864 + */
1.1865 + EDigitiserHalSaveXYInputCalibration,
1.1866 +
1.1867 +
1.1868 + /**
1.1869 + Restores the calibration data (i.e. the values of the digitiser to
1.1870 + screen constants) for the digitiser device from a persistent memory area so
1.1871 + that they can be restored after a power cycle.
1.1872 +
1.1873 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1874 +
1.1875 + - TInt aFunction : This enum value.
1.1876 +
1.1877 + - TAny* a1 : NULL.
1.1878 +
1.1879 + - TAny* a2 : NULL
1.1880 +
1.1881 + @capability WriteDeviceData
1.1882 + */
1.1883 + EDigitiserHalRestoreXYInputCalibration,
1.1884 +
1.1885 +
1.1886 + /**
1.1887 + Gets digitiser information as defined by the content of
1.1888 + a TDigitiserInfoV01 (or TDigitiserInfoV02) struct.
1.1889 +
1.1890 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1891 +
1.1892 + - TInt aFunction : This enum value.
1.1893 +
1.1894 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1895 + TDigitiserInfoV01 (or TDigitiserInfoV02) structure. The HAL function needs
1.1896 + to fill the members of this structure with the appropriate information.
1.1897 +
1.1898 + - TAny* a2 : NULL
1.1899 +
1.1900 + @see TPckgBuf
1.1901 + @see TDigitiserInfoV01
1.1902 + */
1.1903 + EDigitiserHalXYInfo,
1.1904 +
1.1905 +
1.1906 + /**
1.1907 + Tests whether the digitiser is on or off.
1.1908 +
1.1909 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1910 +
1.1911 + - TInt aFunction : This enum value.
1.1912 +
1.1913 + - TAny* a1 : A TBool value that needs to be set to ETrue (On), or EFalse (Off).
1.1914 +
1.1915 + - TAny* a2 : NULL
1.1916 + */
1.1917 + EDigitiserHalXYState,
1.1918 +
1.1919 +
1.1920 + /**
1.1921 + Sets the digitiser either on or off.
1.1922 +
1.1923 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1924 +
1.1925 + - TInt aFunction : This enum value.
1.1926 +
1.1927 + - TAny* a1 : A TBool that needs to be set to ETrue (On), or EFalse (Off).
1.1928 +
1.1929 + - TAny* a2 : NULL
1.1930 +
1.1931 + @capability PowerMgmt
1.1932 + */
1.1933 + EDigitiserHalSetXYState,
1.1934 +
1.1935 + /**
1.1936 + Checks whether the pointing device supports 3rd dimension.
1.1937 +
1.1938 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1939 +
1.1940 + - TInt aFunction : This enum value.
1.1941 +
1.1942 + - TAny* a1 : A TBool value that needs to be set to ETrue (3D supported), or EFalse (3D not supported).
1.1943 +
1.1944 + - TAny* a2 : NULL
1.1945 + */
1.1946 + EDigitiserHal3DPointer,
1.1947 +
1.1948 + /**
1.1949 + Sets the detection range above the screen.
1.1950 +
1.1951 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1952 +
1.1953 + - TInt aFunction : This enum value.
1.1954 +
1.1955 + - TAny* a1 : A TInt value that is the detection range in units of distance above the screen.
1.1956 +
1.1957 + - TAny* a2 : NULL
1.1958 + */
1.1959 + EDigitiserHalSetZRange,
1.1960 +
1.1961 + /**
1.1962 + @prototype
1.1963 +
1.1964 + Sets the number of pointers it supports on the digitiser.
1.1965 +
1.1966 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1967 +
1.1968 + - TInt aFunction : This enum value.
1.1969 +
1.1970 + - TAny* a1 : A TInt value that sets the number of pointer to be supported by the digitiser driver
1.1971 +
1.1972 + - TAny* a2 : NULL
1.1973 + */
1.1974 + EDigitiserHalSetNumberOfPointers,
1.1975 +
1.1976 + /**
1.1977 + @prototype
1.1978 +
1.1979 + Gets digitiser information as defined by the content of
1.1980 + a TDigitiserInfoV02 struct.
1.1981 +
1.1982 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.1983 +
1.1984 + - TInt aFunction : This enum value.
1.1985 +
1.1986 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.1987 + TDigitiserInfoV02 structure. The HAL function needs
1.1988 + to fill the members of this structure with the appropriate information.
1.1989 +
1.1990 + - TAny* a2 : NULL
1.1991 +
1.1992 + @see TPckgBuf
1.1993 + @see TDigitiserInfoV02
1.1994 + */
1.1995 + EDigitiserHal3DInfo
1.1996 +
1.1997 + };
1.1998 +
1.1999 +
1.2000 +
1.2001 +
1.2002 +/**
1.2003 +@publishedPartner
1.2004 +@released
1.2005 +
1.2006 +The set of function-ids that are associated with the EHalGroupSound
1.2007 +HAL group.
1.2008 +
1.2009 +Each enum value represents a specific characteristic of the sound driver,
1.2010 +and is passed as the second parameter to the HAL handler function
1.2011 +dealing with this group.
1.2012 +
1.2013 +Note that a sound driver in Symbian OS is only maintained for backwards
1.2014 +compatibility with the Psion Series 5MX devices.
1.2015 +
1.2016 +@see EHalGroupSound
1.2017 +*/
1.2018 +enum TSoundHalFunction
1.2019 + {
1.2020 + /**
1.2021 + Gets sound driver information.
1.2022 +
1.2023 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2024 +
1.2025 + - TInt aFunction : This enum value.
1.2026 +
1.2027 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.2028 + TSoundInfoV1 structure. The HAL function needs to fill the members of
1.2029 + this structure with the appropriate information.
1.2030 +
1.2031 + - TAny* a2 : NULL.
1.2032 +
1.2033 + @see TSoundInfoV1
1.2034 + @see TPckgBuf
1.2035 + */
1.2036 + ESoundHalSoundInfo,
1.2037 +
1.2038 +
1.2039 + /**
1.2040 + Sets whether a click is to be sounded on a key press.
1.2041 +
1.2042 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2043 +
1.2044 + - TInt aFunction : This enum value.
1.2045 +
1.2046 + - TAny* a1 : A TBool that needs to be set to ETrue (click is to be sounded),
1.2047 + or EFalse (click is not to be sounded).
1.2048 +
1.2049 + - TAny* a2 : NULL.
1.2050 +
1.2051 + @capability WriteDeviceData
1.2052 + */
1.2053 + ESoundHalSetKeyClickEnabled,
1.2054 +
1.2055 +
1.2056 + /**
1.2057 + Sets whether a click that is to be sounded on a key press, is loud or not.
1.2058 +
1.2059 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2060 +
1.2061 + - TInt aFunction : This enum value.
1.2062 +
1.2063 + - TAny* a1 : A TBool that needs to be set to ETrue (click is to be loud),
1.2064 + or EFalse (click is not to be loud).
1.2065 +
1.2066 + - TAny* a2 : NULL.
1.2067 +
1.2068 + @capability WriteDeviceData
1.2069 + */
1.2070 + ESoundHalSetKeyClickLoud,
1.2071 +
1.2072 +
1.2073 + /**
1.2074 + Sets whether a click is to be sounded when a pointing device touches
1.2075 + the screen.
1.2076 +
1.2077 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2078 +
1.2079 + - TInt aFunction : This enum value.
1.2080 +
1.2081 + - TAny* a1 : A TBool that needs to be set to ETrue (click is to be sounded),
1.2082 + or EFalse (click is not to be sounded).
1.2083 +
1.2084 + - TAny* a2 : NULL.
1.2085 +
1.2086 + @capability WriteDeviceData
1.2087 + */
1.2088 + ESoundHalSetPointerClickEnabled,
1.2089 +
1.2090 +
1.2091 + /**
1.2092 + Sets whether a click that is to be sounded when a pointing device touches
1.2093 + the screen, is loud or not.
1.2094 +
1.2095 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2096 +
1.2097 + - TInt aFunction : This enum value.
1.2098 +
1.2099 + - TAny* a1 : A TBool that needs to be set to ETrue (click is to be loud),
1.2100 + or EFalse (click is not to be loud).
1.2101 +
1.2102 + - TAny* a2 : NULL.
1.2103 +
1.2104 + @capability WriteDeviceData
1.2105 + */
1.2106 + ESoundHalSetPointerClickLoud,
1.2107 +
1.2108 +
1.2109 + /**
1.2110 + Sets whether the beep sound is enabled.
1.2111 +
1.2112 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2113 +
1.2114 + - TInt aFunction : This enum value.
1.2115 +
1.2116 + - TAny* a1 : A TBool that needs to be set to ETrue (beep is enabled),
1.2117 + or EFalse (beep is not enabled).
1.2118 +
1.2119 + - TAny* a2 : NULL.
1.2120 +
1.2121 + @capability WriteDeviceData
1.2122 + */
1.2123 + ESoundHalSetBeepEnabled,
1.2124 +
1.2125 +
1.2126 + /**
1.2127 + Sets whether the beep sound is to be loud.
1.2128 +
1.2129 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2130 +
1.2131 + - TInt aFunction : This enum value.
1.2132 +
1.2133 + - TAny* a1 : A TBool that needs to be set to ETrue (beep is loud),
1.2134 + or EFalse (beep is not loud).
1.2135 +
1.2136 + - TAny* a2 : NULL.
1.2137 +
1.2138 + @capability WriteDeviceData
1.2139 + */
1.2140 + ESoundHalSetBeepLoud,
1.2141 +
1.2142 +
1.2143 + /**
1.2144 + Sets whether the sound driver is enabled.
1.2145 +
1.2146 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2147 +
1.2148 + - TInt aFunction : This enum value.
1.2149 +
1.2150 + - TAny* a1 : A TBool that needs to be set to ETrue (driver is enabled),
1.2151 + or EFalse (driver is not enabled).
1.2152 +
1.2153 + - TAny* a2 : NULL.
1.2154 +
1.2155 + @capability PowerMgmt
1.2156 + */
1.2157 + ESoundHalSetSoundDriverEnabled,
1.2158 +
1.2159 +
1.2160 + /**
1.2161 + Sets whether the sound driver is to generate loud sounds.
1.2162 +
1.2163 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2164 +
1.2165 + - TInt aFunction : This enum value.
1.2166 +
1.2167 + - TAny* a1 : A TBool that needs to be set to ETrue (driver is to generate loud sounds),
1.2168 + or EFalse (driver is not to generate loud sounds).
1.2169 +
1.2170 + - TAny* a2 : NULL.
1.2171 +
1.2172 + @capability WriteDeviceData
1.2173 + */
1.2174 + ESoundHalSetSoundDriverLoud,
1.2175 +
1.2176 +
1.2177 + /**
1.2178 + Sets whether sound generation is enabled.
1.2179 +
1.2180 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2181 +
1.2182 + - TInt aFunction : This enum value.
1.2183 +
1.2184 + - TAny* a1 : A TBool that needs to be set to ETrue (sound generation is enabled),
1.2185 + or EFalse (sound generation is not enabled).
1.2186 +
1.2187 + - TAny* a2 : NULL.
1.2188 +
1.2189 + @capability WriteDeviceData
1.2190 + */
1.2191 + ESoundHalSetSoundEnabled,
1.2192 +
1.2193 +
1.2194 + /**
1.2195 + Sets whether generation of key clicks is to be overridden.
1.2196 +
1.2197 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2198 +
1.2199 + - TInt aFunction : This enum value.
1.2200 +
1.2201 + - TAny* a1 : A TBool that needs to be set to ETrue (key clicks to be overridden),
1.2202 + or EFalse (key clicks not to be overridden).
1.2203 +
1.2204 + - TAny* a2 : NULL.
1.2205 +
1.2206 + @capability WriteDeviceData
1.2207 + */
1.2208 + ESoundHalSetKeyClickOverridden,
1.2209 +
1.2210 +
1.2211 + /**
1.2212 + Tests whether the generation of key clicks is overridden.
1.2213 +
1.2214 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2215 +
1.2216 + - TInt aFunction : This enum value.
1.2217 +
1.2218 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (key clicks are overridden),
1.2219 + or EFalse (key clicks are not overridden).
1.2220 +
1.2221 + - TAny* a2 : NULL.
1.2222 + */
1.2223 + ESoundHalKeyClickOverridden,
1.2224 +
1.2225 +
1.2226 + /**
1.2227 + Tests whether a click that is to be sounded on a key press, is loud or not.
1.2228 +
1.2229 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2230 +
1.2231 + - TInt aFunction : This enum value.
1.2232 +
1.2233 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is loud),
1.2234 + or EFalse (click is not loud).
1.2235 +
1.2236 + - TAny* a2 : NULL.
1.2237 + */
1.2238 + ESoundHalKeyClickLoud,
1.2239 +
1.2240 +
1.2241 + /**
1.2242 + Tests whether a click is to be sounded on a key press.
1.2243 +
1.2244 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2245 +
1.2246 + - TInt aFunction : This enum value.
1.2247 +
1.2248 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is sounded),
1.2249 + or EFalse (click is not sounded).
1.2250 +
1.2251 + - TAny* a2 : NULL.
1.2252 + */
1.2253 + ESoundHalKeyClickEnabled,
1.2254 +
1.2255 +
1.2256 + /**
1.2257 + Tests whether a click that is to be sounded when a pointing device touches
1.2258 + the screen, is loud or not.
1.2259 +
1.2260 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2261 +
1.2262 + - TInt aFunction : This enum value.
1.2263 +
1.2264 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is loud),
1.2265 + or EFalse (click is not loud).
1.2266 +
1.2267 + - TAny* a2 : NULL.
1.2268 + */
1.2269 + ESoundHalPointerClickLoud,
1.2270 +
1.2271 +
1.2272 + /**
1.2273 + Tests whether a click is to be sounded when a pointing device touches
1.2274 + the screen.
1.2275 +
1.2276 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2277 +
1.2278 + - TInt aFunction : This enum value.
1.2279 +
1.2280 + - TAny* a1 : A TBool into which teh HAL handler puts ETrue (click is to be sounded),
1.2281 + or EFalse (click is not to be sounded).
1.2282 +
1.2283 + - TAny* a2 : NULL.
1.2284 + */
1.2285 + ESoundHalPointerClickEnabled,
1.2286 +
1.2287 +
1.2288 + /**
1.2289 + Generates a key click sound.
1.2290 +
1.2291 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2292 +
1.2293 + - TInt aFunction : This enum value.
1.2294 +
1.2295 + - TAny* a1 : NULL.
1.2296 +
1.2297 + - TAny* a2 : NULL.
1.2298 + */
1.2299 + ESoundHalKeyClick,
1.2300 +
1.2301 +
1.2302 + /**
1.2303 + Generates a pointer click sound.
1.2304 +
1.2305 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2306 +
1.2307 + - TInt aFunction : This enum value.
1.2308 +
1.2309 + - TAny* a1 : NULL.
1.2310 +
1.2311 + - TAny* a2 : NULL.
1.2312 + */
1.2313 + ESoundHalPointerClick,
1.2314 +
1.2315 +
1.2316 + /**
1.2317 + Generates a beep sound.
1.2318 +
1.2319 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2320 +
1.2321 + - TInt aFunction : This enum value.
1.2322 +
1.2323 + - TAny* a1 : NULL.
1.2324 +
1.2325 + - TAny* a2 : NULL.
1.2326 + */
1.2327 + ESoundHalBeep,
1.2328 +
1.2329 +
1.2330 + /**
1.2331 + Gets the maximum volume of the key click.
1.2332 +
1.2333 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2334 +
1.2335 + - TInt aFunction : This enum value.
1.2336 +
1.2337 + - TAny* a1 : A TInt value into which the HAL handler puts the maximum volume value.
1.2338 +
1.2339 + - TAny* a2 : NULL.
1.2340 + */
1.2341 + ESoundHalKeyClickVolumeMax,
1.2342 +
1.2343 +
1.2344 + /**
1.2345 + Gets the maximum volume of the pointer click.
1.2346 +
1.2347 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2348 +
1.2349 + - TInt aFunction : This enum value.
1.2350 +
1.2351 + - TAny* a1 : A TInt value into which the HAL handler puts the maximum volume value.
1.2352 +
1.2353 + - TAny* a2 : NULL.
1.2354 + */
1.2355 + ESoundHalPointerClickVolumeMax,
1.2356 + };
1.2357 +
1.2358 +
1.2359 +
1.2360 +
1.2361 +/**
1.2362 +@publishedPartner
1.2363 +@released
1.2364 +
1.2365 +The set of function-ids that are associated with the EHalGroupMouse
1.2366 +HAL group.
1.2367 +
1.2368 +Each enum value represents a specific characteristic of the mouse device,
1.2369 +and is passed as the second parameter to the HAL handler function
1.2370 +dealing with this group.
1.2371 +
1.2372 +@see EHalGroupMouse
1.2373 +*/
1.2374 +enum TMouseHalFunction
1.2375 + {
1.2376 +
1.2377 +
1.2378 + /**
1.2379 + Tests whether a mouse device is visible.
1.2380 +
1.2381 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2382 +
1.2383 + - TInt aFunction : This enum value.
1.2384 +
1.2385 + - TAny* a1 : A TBool into which the HAL handler
1.2386 + puts ETrue (for visible) or EFalse (for not-visible).
1.2387 +
1.2388 + - TAny* a2 : NULL
1.2389 + */
1.2390 + EMouseHalMouseState,
1.2391 +
1.2392 +
1.2393 + /**
1.2394 + Sets the state of the mouse device, i.e. whether it is visible or invisible.
1.2395 +
1.2396 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2397 +
1.2398 + - TInt aFunction : This enum value.
1.2399 +
1.2400 + - TAny* a1 : A TBool that needs to be set to ETrue (for visible)
1.2401 + or EFalse (for not-visible).
1.2402 +
1.2403 + - TAny* a2 : NULL
1.2404 +
1.2405 + @capability MultimediaDD
1.2406 + */
1.2407 + EMouseHalSetMouseState,
1.2408 +
1.2409 +
1.2410 + /**
1.2411 + Gets the mouse speed, i.e. how fast the mouse pointer moves.
1.2412 +
1.2413 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2414 +
1.2415 + - TInt aFunction : This enum value.
1.2416 +
1.2417 + - TAny* a1 : A TInt value into which the HAL handler puts the speed value.
1.2418 + This is expected to be a value in the range 0 to 255.
1.2419 +
1.2420 + - TAny* a2 : NULL
1.2421 + */
1.2422 + EMouseHalMouseSpeed,
1.2423 +
1.2424 +
1.2425 + /**
1.2426 + Sets the mouse speed, i.e. how fast the mouse pointer moves.
1.2427 +
1.2428 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2429 +
1.2430 + - TInt aFunction : This enum value.
1.2431 +
1.2432 + - TAny* a1 : A TInt value containing the speed value to be set
1.2433 + This is expected to be a value in the range 0 to 255.
1.2434 +
1.2435 + - TAny* a2 : NULL
1.2436 +
1.2437 + @capability MultimediaDD
1.2438 + */
1.2439 + EMouseHalSetMouseSpeed,
1.2440 +
1.2441 +
1.2442 + /**
1.2443 + Gets the mouse acceleration, i.e. how much the mouse pointer accelerates
1.2444 + as the user moves it faster.
1.2445 +
1.2446 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2447 +
1.2448 + - TInt aFunction : This enum value.
1.2449 +
1.2450 + - TAny* a1 : A TInt value into which the HAL handler puts the acceleration value.
1.2451 + This is expected to be a value in the range 0 to 255.
1.2452 +
1.2453 + - TAny* a2 : NULL
1.2454 + */
1.2455 + EMouseHalMouseAcceleration,
1.2456 +
1.2457 +
1.2458 + /**
1.2459 + Sets the mouse acceleration, i.e. how much the mouse pointer accelerates
1.2460 + as the user moves it faster.
1.2461 +
1.2462 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2463 +
1.2464 + - TInt aFunction : This enum value.
1.2465 +
1.2466 + - TAny* a1 : A TInt value containing the acceleration value to be set
1.2467 + This is expected to be a value in the range 0 to 255.
1.2468 +
1.2469 + - TAny* a2 : NULL
1.2470 +
1.2471 + @capability MultimediaDD
1.2472 + */
1.2473 + EMouseHalSetMouseAcceleration,
1.2474 +
1.2475 +
1.2476 + /**
1.2477 + Gets the state of the mouse buttons.
1.2478 +
1.2479 + This is not currently supported.
1.2480 + */
1.2481 + EMouseHalMouseButtonState,
1.2482 +
1.2483 +
1.2484 + /**
1.2485 + Gets information about the mouse display characteristics.
1.2486 +
1.2487 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2488 +
1.2489 + - TInt aFunction : This enum value.
1.2490 +
1.2491 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.2492 + TMouseInfoV01 structure. The HAL function needs to fill the members of
1.2493 + this structure with the appropriate information.
1.2494 +
1.2495 + - TAny* a2 : NULL.
1.2496 +
1.2497 + @see TMouseInfoV01
1.2498 + @see TPckgBuf
1.2499 + */
1.2500 + EMouseHalMouseInfo,
1.2501 + };
1.2502 +
1.2503 +/**
1.2504 +@internalComponent
1.2505 +*/
1.2506 +enum TEmulatorHalFunction
1.2507 + {
1.2508 + EEmulatorHalStringProperty,
1.2509 + EEmulatorHalIntProperty,
1.2510 + EEmulatorHalBoolProperty,
1.2511 + EEmulatorHalMapFilename,
1.2512 + EEmulatorHalColorDepth,
1.2513 + EEmulatorHalSetFlip,
1.2514 + EEmulatorHalCPUSpeed,
1.2515 + EEmulatorHalNumberOfScreens,
1.2516 + EEmulatorHalSetDisplayChannel,
1.2517 + };
1.2518 +
1.2519 +/**
1.2520 +@publishedPartner
1.2521 +@released
1.2522 +
1.2523 +The set of function-ids that are associated with the EHalGroupKeyboard
1.2524 +HAL group.
1.2525 +
1.2526 +Each enum value represents a specific characteristic of the keyboard,
1.2527 +and is passed as the second parameter to the HAL handler function
1.2528 +dealing with this group.
1.2529 +
1.2530 +@see EHalGroupKeyboard
1.2531 +*/
1.2532 +enum TKeyboardHalFunction
1.2533 + {
1.2534 +
1.2535 + /**
1.2536 + Tests whether the keyboard is on or off.
1.2537 +
1.2538 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2539 +
1.2540 + - TInt aFunction : This enum value.
1.2541 +
1.2542 + - TAny* a1 : A TBool into which the HAL handler puts ETrue (for On),
1.2543 + or EFalse (for Off).
1.2544 +
1.2545 + - TAny* a2 : NULL
1.2546 + */
1.2547 + EKeyboardHalKeyboardState,
1.2548 +
1.2549 +
1.2550 + /**
1.2551 + Sets the keyboard either on or off.
1.2552 +
1.2553 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2554 +
1.2555 + - TInt aFunction : This enum value.
1.2556 +
1.2557 + - TAny* a1 :A TBool that needs to be set to ETrue (On), or EFalse (Off).
1.2558 +
1.2559 + - TAny* a2 : NULL
1.2560 +
1.2561 + @capability PowerMgmt
1.2562 + */
1.2563 + EKeyboardHalSetKeyboardState,
1.2564 +
1.2565 +
1.2566 + /**
1.2567 + Gets information about the keyboard.
1.2568 +
1.2569 + Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1.2570 +
1.2571 + - TInt aFunction : This enum value.
1.2572 +
1.2573 + - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1.2574 + TKeyboardInfoV01 structure. The HAL function needs to fill the members of
1.2575 + this structure with the appropriate information.
1.2576 +
1.2577 + - TAny* a2 : NULL.
1.2578 +
1.2579 + @see TKeyboardInfoV01
1.2580 + @see TPckgBuf
1.2581 + */
1.2582 + EKeyboardHalKeyboardInfo,
1.2583 + };
1.2584 +
1.2585 +/**
1.2586 +@publishedPartner
1.2587 +@released
1.2588 +
1.2589 +The set of function-ids that are associated with the EHalGroupVM
1.2590 +HAL group.
1.2591 +
1.2592 +@see EHalGroupVM
1.2593 +*/
1.2594 +enum TVMHalFunction
1.2595 + {
1.2596 + /**
1.2597 + Evict the contents of the virtual memory cache and reduce it to its minimum size.
1.2598 +
1.2599 + @capability WriteDeviceData
1.2600 + @test
1.2601 + */
1.2602 + EVMHalFlushCache,
1.2603 +
1.2604 + /**
1.2605 + Change the minimum and maximum RAM sizes used for the virtual memory cache.
1.2606 + These values may be silently restricted to platforn specific limits.
1.2607 + If required, GetCacheSize can be used to verify sizes actually applied to the system.
1.2608 +
1.2609 + If there is not enough memory to set the specified cache size then KErrNoMemory is
1.2610 + returned, however the cache size may still have been modified in an attempt to
1.2611 + service the request.
1.2612 +
1.2613 + This hal function expects two TUint arguments.
1.2614 + The first argument (a1) is the minimum size for cache in bytes.
1.2615 + The second argument (a2) is the maximum size for cache in bytes; using zero for
1.2616 + this value will restore cache sizes to the initial values used after boot.
1.2617 +
1.2618 + The return value from the function is one of:
1.2619 + KErrNone, if successful;
1.2620 + KErrNoMemory if there is not enough memory;
1.2621 + KErrArgument if a1>a2;
1.2622 + otherwise one of the other system wide error codes.
1.2623 +
1.2624 + Example usage:
1.2625 + @code
1.2626 + TUint minRam = 128*1024; // 128k
1.2627 + TUint maxRam = KMaxTUint; // unlimited
1.2628 + TInt r = UserSvr::HalFunction(EHalGroupVM,EVMHalSetCacheSize,(TAny*)minRam,(TAny*)maxRam));
1.2629 + if(r!=KErrNone)
1.2630 + anErrorOccured();
1.2631 + @endcode
1.2632 +
1.2633 + @capability WriteDeviceData
1.2634 + @test
1.2635 + */
1.2636 + EVMHalSetCacheSize,
1.2637 +
1.2638 + /**
1.2639 + Get the sizes for the virtual memory cache.
1.2640 + The first argument (a1) is a pointer to a #SVMCacheInfo object.
1.2641 + The second argument (a2) must be zero.
1.2642 + @test
1.2643 + */
1.2644 + EVMHalGetCacheSize,
1.2645 +
1.2646 + /**
1.2647 + Get paging event information.
1.2648 + The first argument (a1) is a pointer to a descriptor whose contents will be filled
1.2649 + with a #SVMEventInfo object.
1.2650 + The second argument (a2) must be zero.
1.2651 + @test
1.2652 + */
1.2653 + EVMHalGetEventInfo,
1.2654 +
1.2655 + /**
1.2656 + Reset the counters obtained with EVMHalGetEventInfo.
1.2657 + @test
1.2658 + */
1.2659 + EVMHalResetEventInfo,
1.2660 +
1.2661 + /**
1.2662 + @internalTechnology
1.2663 + @test
1.2664 + */
1.2665 + EVMHalGetOriginalRomPages,
1.2666 +
1.2667 + /**
1.2668 + @internalTechnology
1.2669 + @test
1.2670 + */
1.2671 + EVMPageState,
1.2672 +
1.2673 + /**
1.2674 + @internalTechnology
1.2675 + @test
1.2676 + */
1.2677 + EVMHalGetConcurrencyInfo,
1.2678 +
1.2679 + /**
1.2680 + @internalTechnology
1.2681 + @test
1.2682 + */
1.2683 + EVMHalResetConcurrencyInfo,
1.2684 +
1.2685 + /**
1.2686 + @internalTechnology
1.2687 + @test
1.2688 + */
1.2689 + EVMHalGetPagingBenchmark,
1.2690 +
1.2691 + /**
1.2692 + @internalTechnology
1.2693 + @test
1.2694 + */
1.2695 + EVMHalResetPagingBenchmark,
1.2696 +
1.2697 + /**
1.2698 + Gets information about the size of the swap partition, and how much is currently used.
1.2699 + The first argument (a1) should be a pointer to the SVMSwapInfo structure to write.
1.2700 + @return KErrNone if successful, or KErrNotSupported if data paging is not supported.
1.2701 + @internalTechnology
1.2702 + @prototype
1.2703 + */
1.2704 + EVMHalGetSwapInfo,
1.2705 +
1.2706 + /**
1.2707 + Gets information about the current thrashing level.
1.2708 +
1.2709 + This is a number between 0 and 255 representing how close the system is to thrashing, where 0
1.2710 + indicates no thrashing and 255 indicates severe thrashing.
1.2711 +
1.2712 + @return The current thrashing level.
1.2713 + @internalTechnology
1.2714 + @prototype
1.2715 + */
1.2716 + EVMHalGetThrashLevel,
1.2717 +
1.2718 + /**
1.2719 + Set the available swap space thresholds at which low memory notifications will be generated.
1.2720 +
1.2721 + Notifications are generated through the RChangeNotifier API, using the enumeration value
1.2722 + EChangesFreeMemory.
1.2723 +
1.2724 + The first argument (a1) should contain a pointer to a SVMSwapThresholds structure. The
1.2725 + thresholds are specified in bytes.
1.2726 +
1.2727 + @return KErrNone if successful, KErrNotSupported if data paging is not supported or KErrArgument
1.2728 + if the thresholds are larger than the size of the swap partition, or if the low threshold is
1.2729 + larger than the good threshold.
1.2730 +
1.2731 + @see RChangeNotifier
1.2732 + @see TChanges
1.2733 + */
1.2734 + EVMHalSetSwapThresholds,
1.2735 +
1.2736 + /**
1.2737 + Set the thrash level thresholds at which thrash level notifications will be generated.
1.2738 +
1.2739 + Notifications are generated through the RChangeNotifier API, using the enumeration value
1.2740 + EChangesThrashLevel.
1.2741 +
1.2742 + The first argument (a1) should contain the thrashing threshold, and the seond one (a2) should
1.2743 + contain the good threshold.
1.2744 +
1.2745 + The thresholds are specified as numbers between 0 and 255 inclusive.
1.2746 +
1.2747 + @return KErrNone if successful, KErrArgument if the thresholds are out of range or if the
1.2748 + thrashing threshold is smaller than the good threshold.
1.2749 +
1.2750 + @see RChangeNotifier
1.2751 + @see TChanges
1.2752 + */
1.2753 + EVMHalSetThrashThresholds,
1.2754 + };
1.2755 +
1.2756 +
1.2757 +/**
1.2758 +Paging event information.
1.2759 +@publishedPartner
1.2760 +@test
1.2761 +*/
1.2762 +struct SVMEventInfo
1.2763 + {
1.2764 + /**
1.2765 + The total number of page faults which have occurred.
1.2766 + */
1.2767 + TUint64 iPageFaultCount;
1.2768 +
1.2769 + /**
1.2770 + The total number of page faults which resulted in reading a page
1.2771 + from storage media.
1.2772 + */
1.2773 + TUint64 iPageInReadCount;
1.2774 +
1.2775 + // do not add new members to this struct.
1.2776 + // instead, derive a new SVMEventInfoV2 class from this and add new members to that.
1.2777 + };
1.2778 +
1.2779 +
1.2780 +/**
1.2781 +VM cache information.
1.2782 +@publishedPartner
1.2783 +@test
1.2784 +*/
1.2785 +struct SVMCacheInfo
1.2786 + {
1.2787 + /**
1.2788 + The minimum size of virtual memory cache, in bytes.
1.2789 + */
1.2790 + TUint32 iMinSize;
1.2791 +
1.2792 + /**
1.2793 + The maximum size of virtual memory cache, in bytes.
1.2794 + */
1.2795 + TUint32 iMaxSize;
1.2796 +
1.2797 + /**
1.2798 + The current size of virtual memory cache, in bytes.
1.2799 + This may be larger than iMaxSize.
1.2800 + */
1.2801 + TUint32 iCurrentSize;
1.2802 +
1.2803 + /**
1.2804 + The current size of the freeable memory in the virtual memory cache, in bytes.
1.2805 + */
1.2806 + TUint32 iMaxFreeSize;
1.2807 +
1.2808 + // do not add new members to this struct, this is a compatability break
1.2809 + };
1.2810 +
1.2811 +
1.2812 +/**
1.2813 +Enumeration defining the bitmask returned from a call to the demnd paging HAL function
1.2814 +EDemandPagingGetPageState.
1.2815 +
1.2816 +@internalComponent
1.2817 +@test
1.2818 +*/
1.2819 +enum TDemandPagingPageState
1.2820 + {
1.2821 + // Values common to both moving and multiple memory models
1.2822 + EPageStateInRom = 1<<16,
1.2823 + EPageStateInRamCode = 1<<17,
1.2824 + EPageStatePaged = 1<<18,
1.2825 + EPageStatePageTablePresent = 1<<19,
1.2826 + EPageStatePtePresent = 1<<20,
1.2827 + EPageStatePteValid = 1<<21,
1.2828 + // Values specific to multiple memory model
1.2829 + EPageStateCodeChunkPresent = 1<<22,
1.2830 + EPageStatePhysAddrPresent = 1<<23
1.2831 + };
1.2832 +
1.2833 +
1.2834 +/**
1.2835 +Information about concurrency in the demand paging system.
1.2836 +
1.2837 +@internalComponent
1.2838 +@test
1.2839 +*/
1.2840 +struct SPagingConcurrencyInfo
1.2841 + {
1.2842 + /**
1.2843 + The maximum observed number of threads waiting to page in.
1.2844 + */
1.2845 + TInt iMaxWaitingCount;
1.2846 +
1.2847 + /**
1.2848 + The maximum observed number of threads paging in.
1.2849 + */
1.2850 + TInt iMaxPagingCount;
1.2851 + };
1.2852 +
1.2853 +
1.2854 +/**
1.2855 +Enumeration of demand paging benchmarks.
1.2856 +
1.2857 +@internalComponent
1.2858 +@test
1.2859 +*/
1.2860 +enum TPagingBenchmark
1.2861 + {
1.2862 + EPagingBmReadRomPage,
1.2863 + EPagingBmReadCodePage,
1.2864 + EPagingBmDecompress,
1.2865 + EPagingBmSetCodePageFree,
1.2866 + EPagingBmSetCodePageOld,
1.2867 + EPagingBmReadMedia,
1.2868 + EPagingBmFixupCodePage,
1.2869 + EPagingBmReadDataPage,
1.2870 + EPagingBmWriteDataPage,
1.2871 + EPagingBmDeleteNotifyDataPage,
1.2872 + EPagingBmReadDataMedia,
1.2873 + EPagingBmWriteDataMedia,
1.2874 +
1.2875 + EMaxPagingBm
1.2876 + };
1.2877 +
1.2878 +
1.2879 +/**
1.2880 +Benchmark information for a specific operation. All times are in terms of the system's fast timer.
1.2881 +
1.2882 +@internalComponent
1.2883 +@test
1.2884 +*/
1.2885 +struct SPagingBenchmarkInfo
1.2886 + {
1.2887 + /**
1.2888 + Number of times the operation has been executed.
1.2889 + */
1.2890 + TInt iCount;
1.2891 +
1.2892 + /**
1.2893 + Total time elapsed while executing the operation.
1.2894 + */
1.2895 + TInt64 iTotalTime;
1.2896 +
1.2897 + /**
1.2898 + Maximum time recorded for a single execution.
1.2899 + */
1.2900 + TInt iMaxTime;
1.2901 +
1.2902 + /**
1.2903 + Minimum time recorded for a single execution.
1.2904 + */
1.2905 + TInt iMinTime;
1.2906 + };
1.2907 +
1.2908 +/**
1.2909 +Information about concurrency of ROM demand paging requests in the media subsystem.
1.2910 +
1.2911 +@internalComponent
1.2912 +@test
1.2913 +*/
1.2914 +struct SMediaROMPagingConcurrencyInfo
1.2915 + {
1.2916 + /**
1.2917 + The maximum number of pending page in requests in the main queue any time during this session.
1.2918 + */
1.2919 + TUint8 iMaxReqsInPending;
1.2920 +
1.2921 + /**
1.2922 + The maximum number of pending page in requests in the deferred queue any time during this session.
1.2923 + */
1.2924 + TUint8 iMaxReqsInDeferred;
1.2925 +
1.2926 + /**
1.2927 + The maximum number of deferrals of any single page in request during this session.
1.2928 + */
1.2929 + TUint8 iMaxDeferrals;
1.2930 +
1.2931 + /**
1.2932 + The total number of times the page in DFC run with an empty main queue during this session.
1.2933 + */
1.2934 + TUint8 iTotalRunDry;
1.2935 +
1.2936 + /**
1.2937 + The total number of page in requests first-time deferred during this session.
1.2938 + */
1.2939 + TUint iTotalFirstTimeDeferrals;
1.2940 +
1.2941 + /**
1.2942 + The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue).
1.2943 + */
1.2944 + TUint iTotalReDeferrals;
1.2945 +
1.2946 + /**
1.2947 + The total number of page in requests serviced from main queue when completing an asynchronous request.
1.2948 + */
1.2949 + TUint iTotalSynchServicedFromMainQ;
1.2950 +
1.2951 + /**
1.2952 + The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request.
1.2953 + */
1.2954 + TUint iTotalSynchDeferredFromMainQ;
1.2955 +
1.2956 + /**
1.2957 + The total number of page in requests issued whilst processing other page in requests.
1.2958 + */
1.2959 + TUint iTotalConcurrentReqs;
1.2960 +
1.2961 + /**
1.2962 + The total number of page in requests issued with at least one queue not empty.
1.2963 + */
1.2964 + TUint iTotalReqIssuedNonEmptyQ;
1.2965 +
1.2966 + /**
1.2967 + The total number of times the main queue was emptied when completing an asynchronous request during this session.
1.2968 + */
1.2969 + TUint iTotalSynchEmptiedMainQ;
1.2970 +
1.2971 + /**
1.2972 + The total number of times the page in DFC was cancelled because the main queue was synchronously emptied.
1.2973 + */
1.2974 + TUint iTotalDryRunsAvoided;
1.2975 + };
1.2976 +
1.2977 +/**
1.2978 +Information about concurrency of Code demand paging requests in the media subsystem.
1.2979 +
1.2980 +@internalComponent
1.2981 +@test
1.2982 +*/
1.2983 +struct SMediaCodePagingConcurrencyInfo
1.2984 + {
1.2985 + /**
1.2986 + The maximum number of pending page in requests in the main queue any time during this session.
1.2987 + */
1.2988 + TUint8 iMaxReqsInPending;
1.2989 +
1.2990 + /**
1.2991 + The maximum number of pending page in requests in the deferred queue any time during this session.
1.2992 + */
1.2993 + TUint8 iMaxReqsInDeferred;
1.2994 +
1.2995 + /**
1.2996 + The maximum number of deferrals of any single page in request during this session.
1.2997 + */
1.2998 + TUint8 iMaxDeferrals;
1.2999 +
1.3000 + /**
1.3001 + Spare field
1.3002 + */
1.3003 + TUint8 iSpare;
1.3004 +
1.3005 + /**
1.3006 + The total number of page in requests first-time deferred during this session.
1.3007 + */
1.3008 + TUint iTotalFirstTimeDeferrals;
1.3009 +
1.3010 + /**
1.3011 + The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue).
1.3012 + */
1.3013 + TUint iTotalReDeferrals;
1.3014 +
1.3015 + /**
1.3016 + The total number of page in requests serviced from main queue when completing an asynchronous request.
1.3017 + */
1.3018 + TUint iTotalSynchServicedFromMainQ;
1.3019 +
1.3020 + /**
1.3021 + The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request.
1.3022 + */
1.3023 + TUint iTotalSynchDeferredFromMainQ;
1.3024 +
1.3025 + /**
1.3026 + The total number of page in requests issued whilst processing other page in requests.
1.3027 + */
1.3028 + TUint iTotalConcurrentReqs;
1.3029 +
1.3030 + /**
1.3031 + The total number of page in requests issued with at least one queue not empty.
1.3032 + */
1.3033 + TUint iTotalReqIssuedNonEmptyQ;
1.3034 + };
1.3035 +
1.3036 +
1.3037 +/**
1.3038 +Information about concurrency of Data demand paging requests in the media subsystem.
1.3039 +
1.3040 +@internalComponent
1.3041 +@test
1.3042 +*/
1.3043 +struct SMediaDataPagingConcurrencyInfo
1.3044 + {
1.3045 + /**
1.3046 + The maximum number of pending page in requests in the main queue any time during this session.
1.3047 + */
1.3048 + TUint8 iMaxReqsInPending;
1.3049 +
1.3050 + /**
1.3051 + The maximum number of pending page in requests in the deferred queue any time during this session.
1.3052 + */
1.3053 + TUint8 iMaxReqsInDeferred;
1.3054 +
1.3055 + /**
1.3056 + The maximum number of deferrals of any single page in request during this session.
1.3057 + */
1.3058 + TUint8 iMaxDeferrals;
1.3059 +
1.3060 + /**
1.3061 + The total number of times the page in DFC run with an empty main queue during this session.
1.3062 + */
1.3063 + TUint8 iTotalRunDry;
1.3064 +
1.3065 + /**
1.3066 + The total number of page in requests first-time deferred during this session.
1.3067 + */
1.3068 + TUint iTotalFirstTimeDeferrals;
1.3069 +
1.3070 + /**
1.3071 + The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue).
1.3072 + */
1.3073 + TUint iTotalReDeferrals;
1.3074 +
1.3075 + /**
1.3076 + The total number of page in requests serviced from main queue when completing an asynchronous request.
1.3077 + */
1.3078 + TUint iTotalSynchServicedFromMainQ;
1.3079 +
1.3080 + /**
1.3081 + The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request.
1.3082 + */
1.3083 + TUint iTotalSynchDeferredFromMainQ;
1.3084 +
1.3085 + /**
1.3086 + The total number of page in requests issued whilst processing other page in requests.
1.3087 + */
1.3088 + TUint iTotalConcurrentReqs;
1.3089 +
1.3090 + /**
1.3091 + The total number of page in requests issued with at least one queue not empty.
1.3092 + */
1.3093 + TUint iTotalReqIssuedNonEmptyQ;
1.3094 +
1.3095 + /**
1.3096 + The total number of times the main queue was emptied when completing an asynchronous request during this session.
1.3097 + */
1.3098 + TUint iTotalSynchEmptiedMainQ;
1.3099 +
1.3100 + /**
1.3101 + The total number of times the page in DFC was cancelled because the main queue was synchronously emptied.
1.3102 + */
1.3103 + TUint iTotalDryRunsAvoided;
1.3104 + };
1.3105 +
1.3106 +
1.3107 +/**
1.3108 +Information about paging requests in the media subsystem.
1.3109 +
1.3110 +@internalComponent
1.3111 +@test
1.3112 +*/
1.3113 +struct SMediaPagingInfo
1.3114 + {
1.3115 + /**
1.3116 + The total number of ROM page in requests
1.3117 + */
1.3118 + TInt iRomPageInCount;
1.3119 + /**
1.3120 + The total number of Code page in requests
1.3121 + */
1.3122 + TInt iCodePageInCount;
1.3123 + /**
1.3124 + The total number of Data page in requests
1.3125 + */
1.3126 + TInt iDataPageInCount;
1.3127 + /**
1.3128 + The total number of Data page out requests
1.3129 + */
1.3130 + TInt iDataPageOutCount;
1.3131 + /**
1.3132 + The total number of "background" Data page out requests
1.3133 + i.e. a page out which only occurs when the media is otherwise idle
1.3134 + */
1.3135 + TInt iDataPageOutBackgroundCount;
1.3136 + };
1.3137 +
1.3138 +
1.3139 +
1.3140 +/**
1.3141 +Swap partition information.
1.3142 +@internalAll
1.3143 +@prototype
1.3144 +*/
1.3145 +struct SVMSwapInfo
1.3146 + {
1.3147 + /**
1.3148 + The size of the swap partition, in bytes.
1.3149 + */
1.3150 + TUint64 iSwapSize;
1.3151 +
1.3152 + /**
1.3153 + The amount of swap currently free, in bytes.
1.3154 + */
1.3155 + TUint64 iSwapFree;
1.3156 +
1.3157 + // do not add new members to this struct, this is a compatability break
1.3158 + };
1.3159 +
1.3160 +
1.3161 +
1.3162 +/**
1.3163 +Free swap notification thresholds.
1.3164 +@internalAll
1.3165 +@prototype
1.3166 +*/
1.3167 +struct SVMSwapThresholds
1.3168 + {
1.3169 + /**
1.3170 + The low threshold, in bytes
1.3171 + */
1.3172 + TUint64 iLowThreshold;
1.3173 +
1.3174 + /**
1.3175 + The good threshold, in bytes.
1.3176 + */
1.3177 + TUint64 iGoodThreshold;
1.3178 +
1.3179 + // do not add new members to this struct, this is a compatability break
1.3180 + };
1.3181 +
1.3182 +
1.3183 +
1.3184 +/**
1.3185 +@internalComponent
1.3186 +
1.3187 +The set of function-ids that are associated with the EHalGroupRam
1.3188 +HAL group.
1.3189 +
1.3190 +@see EHalGroupRam
1.3191 +@test
1.3192 +*/
1.3193 +enum TRamHalFunction
1.3194 + {
1.3195 + /**
1.3196 + Retrieve the number of RAM Zones configured for this variant.
1.3197 +
1.3198 + The first argument (a1) is a TUint in which to store the zone count.
1.3199 + The second argument (a2) must be zero.
1.3200 + @test
1.3201 + */
1.3202 + ERamHalGetZoneCount,
1.3203 +
1.3204 + /**
1.3205 + Retrieve configuration information about a zone.
1.3206 +
1.3207 + The first argument (a1) is a TUint indicating the index of the zone into the zone array.
1.3208 + The second argument (a2) is a pointer to a struct SRamZoneConfig in which to store the data.
1.3209 + @test
1.3210 + */
1.3211 + ERamHalGetZoneConfig,
1.3212 +
1.3213 + /**
1.3214 + Retrieve utilisation information about a zone.
1.3215 +
1.3216 + The first argument (a1) is a TUint indicating the index of the zone into the zone array.
1.3217 + The second argument (a2) is a pointer to a struct SRamZoneUtilisation in which to store the data.
1.3218 + @test
1.3219 + */
1.3220 + ERamHalGetZoneUtilisation,
1.3221 +
1.3222 + };
1.3223 +
1.3224 +/**
1.3225 +Ram zone configuration information.
1.3226 +@internalComponent
1.3227 +@test
1.3228 +*/
1.3229 +struct SRamZoneConfig
1.3230 + {
1.3231 + /**
1.3232 + ID number of the RAM zone
1.3233 + */
1.3234 + TUint iZoneId;
1.3235 +
1.3236 + /**
1.3237 + The index of the RAM zone in the RAM zone array
1.3238 + */
1.3239 + TUint8 iZoneIndex;
1.3240 +
1.3241 + /**
1.3242 + Physical base address of the RAM zone
1.3243 + */
1.3244 + TUint32 iPhysBase;
1.3245 +
1.3246 + /**
1.3247 + Physical end address of the RAM zone
1.3248 + */
1.3249 + TUint32 iPhysEnd;
1.3250 +
1.3251 + /**
1.3252 + The total number of pages that are in the RAM zone
1.3253 + */
1.3254 + TUint32 iPhysPages;
1.3255 +
1.3256 + /**
1.3257 + Preference value for the RAM zone, lower preference RAM zones are used first
1.3258 + */
1.3259 + TUint8 iPref;
1.3260 +
1.3261 + /**
1.3262 + Zone flags - specify whether the RAM zone should be reserved for contiguous buffer or h/w etc
1.3263 + */
1.3264 + TUint iFlags;
1.3265 +
1.3266 + };
1.3267 +
1.3268 +/**
1.3269 +Ram zone utilisation information.
1.3270 +@internalComponent
1.3271 +@test
1.3272 +*/
1.3273 +struct SRamZoneUtilisation
1.3274 + {
1.3275 + /**
1.3276 + ID number of the RAM zone
1.3277 + */
1.3278 + TUint iZoneId;
1.3279 +
1.3280 + /**
1.3281 + The index of the RAM zone in the zone array
1.3282 + */
1.3283 + TUint8 iZoneIndex;
1.3284 +
1.3285 + /**
1.3286 + The total number of pages that are in the RAM zone
1.3287 + */
1.3288 + TUint32 iPhysPages;
1.3289 +
1.3290 + /**
1.3291 + The number of pages free in the RAM zone
1.3292 + */
1.3293 + TUint32 iFreePages;
1.3294 +
1.3295 + /**
1.3296 + The number of 'unknown' (reserved at startup or holes in the zone) pages allocated in the RAM zone
1.3297 + */
1.3298 + TUint32 iAllocUnknown;
1.3299 +
1.3300 + /**
1.3301 + The number of fixed pages allocated in the RAM zone
1.3302 + */
1.3303 + TUint32 iAllocFixed;
1.3304 +
1.3305 + /**
1.3306 + The number of movable pages allocated in the RAM zone
1.3307 + */
1.3308 + TUint32 iAllocMovable;
1.3309 +
1.3310 + /**
1.3311 + The number of discardable pages allocated in the RAM zone
1.3312 + */
1.3313 + TUint32 iAllocDiscardable;
1.3314 +
1.3315 + /**
1.3316 + The number of other pages allocated in the RAM zone
1.3317 + */
1.3318 + TUint32 iAllocOther;
1.3319 +
1.3320 + };
1.3321 +#endif