Update contrib.
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // e32\include\u32hal.h
16 // WARNING: This file contains some APIs which are internal and are subject
17 // to change without notice. Such APIs should therefore not be used
18 // outside the Kernel and Hardware Services package.
27 // Classes used for in functions
31 Used for TVariantInfoV01::iLedCapabilities
35 const TUint KLedMaskRed1=0x00000001;
38 Used for TVariantInfoV01::iLedCapabilities
42 const TUint KLedMaskGreen1=0x00000002;
45 Used for TVariantInfoV01::iLedCapabilities
49 const TUint KLedMaskYellow1=0x00000004;
52 Used for TSupplyInfoV1.iFlags
54 @deprecated Unused by Symbian code
56 const TUint KSupplyFlagSoundWarning=0x00000001;
59 Used for TSupplyInfoV1.iFlags
61 @deprecated Unused by Symbian code
63 const TUint KSupplyFlagBacklightWarning=0x00000002;
66 Used for TSupplyInfoV1.iFlags
68 @deprecated Unused by Symbian code
70 const TUint KSupplyFlagTimeChanged=0x80000000;
74 @deprecated Unused by Symbian code
85 @deprecated Unused by Symbian code
89 EZero,EVeryLow,ELow,EGood
94 @deprecated Unused by Symbian code
99 SInt64 iMainBatteryInsertionTime;
100 TSupplyStatus iMainBatteryStatus;
101 SInt64 iMainBatteryInUseMicroSeconds;
102 TInt iCurrentConsumptionMilliAmps;
103 TInt iMainBatteryConsumedMilliAmpSeconds;
104 TInt iMainBatteryMilliVolts;
105 TInt iMainBatteryMaxMilliVolts;
106 TSupplyStatus iBackupBatteryStatus;
107 TInt iBackupBatteryMilliVolts;
108 TInt iBackupBatteryMaxMilliVolts;
109 TBool iExternalPowerPresent;
110 SInt64 iExternalPowerInUseMicroSeconds;
116 @deprecated Unused by Symbian code
118 typedef TPckgBuf<TSupplyInfoV1> TSupplyInfoV1Buf;
122 @deprecated Unused by Symbian code
124 class TMouseProperties
128 TUint8 iAcceleration;
132 @internalTechnology Used by Symbian base ports
133 @deprecated Unused by Symbian code
138 TBool iKeyClickEnabled;
140 TBool iKeyClickOverridden;
141 TBool iPointerClickEnabled;
142 TBool iPointerClickLoud;
145 TBool iSoundDriverEnabled;
146 TBool iSoundDriverLoud;
152 @deprecated Unused by Symbian code
154 typedef TPckgBuf<TSoundInfoV1> TSoundInfoV1Buf;
157 @internalTechnology Used by Symbian base ports
162 TBool iPointerSwitchesOn;
163 TBool iCaseOpenSwitchesOn;
164 TBool iCaseCloseSwitchesOff;
169 @deprecated Unused by Symbian code
171 typedef TPckgBuf<TOnOffInfoV1> TOnOffInfoV1Buf;
175 @removed Unused by Symbian code
177 enum TUserMediaFunction {EUserMediaRemount,EUserMediaNotifyChange};
183 // Hal function enumerations
190 Defines the set of HAL groups.
192 Each HAL group has an associated HAL handler. Note that the
193 HAL handlers for EHalGroupKernel and EHalGroupEmulator are internal
196 See the Base Porting Guide documentation in the developer library for
197 more information on HAL groups.
199 enum THalFunctionGroup
204 The HAL group associated with kernel related information; for example
205 the reason for the most recent system boot.
207 The function-ids associated with this HAL group are defined by the set
208 of TKernelHalFunction enum values.
214 The HAL group associated with Variant specific hardware.
216 This HAL handler is implemented by the Variant, specifically by
217 the base port's implementation of Asic::VariantHal().
219 The function-ids associated with this HAL group are defined by the set
220 of TVariantHalFunction enum values. See the individual function-ids for
221 the associated capabilities.
223 @see TVariantHalFunction
224 @see Asic::VariantHal()
230 The HAL group associated with the media driver.
232 It is used internally by the media driver LDD.
234 The function-ids associated with this HAL group are defined by the set
235 of TMediaHalFunction enum values. See the individual function-ids for
236 the associated capabilities.
238 @see TMediaHalFunction
244 The HAL group associated with power handling.
246 This HAL handler is implemented by the power model.
248 The function-ids associated with this HAL group are defined by the set
249 of TPowerHalFunction enum values. See the individual function-ids for
250 the associated capabilities.
252 @see TPowerHalFunction
258 The HAL group associated with the main screen display.
260 This HAL handler is implemented by the screen (i.e. LCD or video driver).
262 The function-ids associated with this HAL group are defined by the set
263 of TDisplayHalFunction enum values. See the individual function-ids for
264 the associated capabilities.
266 @see TDisplayHalFunction
272 The HAL group associated with the digitiser (i.e. pen or stylus).
274 This HAL handler is implemented by the digitiser.
276 The function-ids associated with this HAL group are defined by the set
277 of TDigitiserHalFunction enum values. See the individual function-ids for
278 the associated capabilities.
280 @see TDigitiserHalFunction
282 EHalGroupDigitiser=5,
286 The HAL group associated with a sound driver.
288 This group is provided by Symbian OS for backwards compatibility with
289 the Psion Series 5MX devices.
291 The function-ids associated with this HAL group are defined by the set
292 of TSoundHalFunction enum values. See the individual function-ids for
293 the associated capabilities.
295 @see TSoundHalFunction
301 The HAL group associated with a mouse-type device.
303 In Symbian OS, the the only example of a mouse device is in the emulator,
304 and this is a port of Symbian OS maintained by Symbian.
306 The function-ids associated with this HAL group are defined by the set
307 of TMouseHalFunction enum values. See the individual function-ids for
308 the associated capabilities.
310 @see TMouseHalFunction
318 The HAL group associated with the emulator.
320 The function-ids associated with this HAL group are defined by the set
321 of TEmulatorHalFunction enum values.
327 The HAL group associated with the keyboard.
329 This HAL handler is implemented by the keyboard driver.
331 The function-ids associated with this HAL group are defined by the set
332 of TKeyboardHalFunction enum values. See the individual function-ids for
333 the associated capabilities.
335 @see TKeyboardHalFunction
340 The HAL group associated with the virtual memory system.
342 The function-ids associated with this HAL group are defined by the set
343 of TVMHalFunction enum values.
350 The HAL group associated with the RAM Zone configuration.
352 The function-ids associated with this HAL group are defined by the set
353 of TRamHalFunction enum values.
360 Reserved for platform specific use.
362 EHalGroupPlatformSpecific1=29,
365 Reserved for platform specific use.
367 EHalGroupPlatformSpecific2=30
376 enum TKernelHalFunction
378 EKernelHalMemoryInfo,
380 EKernelHalStartupReason,
381 EKernelHalFaultReason,
382 EKernelHalExceptionId,
383 EKernelHalExceptionInfo,
385 EKernelHalPageSizeInBytes,
386 EKernelHalTickPeriod,
387 EKernelHalMemModelInfo,
388 EKernelHalFastCounterFrequency,
389 EKernelHalNTickPeriod,
390 EKernelHalHardwareFloatingPoint,
391 EKernelHalGetNonsecureClockOffset,
392 EKernelHalSetNonsecureClockOffset,
393 EKernelHalSmpSupported,
394 EKernelHalNumLogicalCpus,
395 EKernelHalSupervisorBarrier,
396 EKernelHalFloatingPointSystemId,
397 EKernelHalLockThreadToCpu,
398 EKernelHalConfigFlags,
408 The set of function-ids that are associated with the EHalGroupVariant
411 Each enum value represents a specific characteristic of the Variant,
412 and is passed as the second parameter to
413 the HAL handler function dealing with this group.
415 @see EHalGroupVariant
417 enum TVariantHalFunction
420 Gets Variant specifc information.
422 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
424 - TInt aFunction : This enum value.
426 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
427 TVariantInfoV01 structure. The HAL function needs to fill the members of
428 this structure with the appropriate information.
432 An example of this function can be found in the Variant template;
435 Template::VariantHal()
439 ...\template\template_variant\specific\variant.cpp
445 EVariantHalVariantInfo,
449 Sets the debug port number.
451 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
453 - TInt aFunction : This enum value.
455 - TAny* a1 : A TInt value containing the debug port number.
459 An example of this function can be found in the Variant template;
462 Template::VariantHal()
466 ...\template\template_variant\specific\variant.cpp
469 EVariantHalDebugPortSet,
473 Gets the debug port number.
475 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
477 - TInt aFunction : This enum value.
479 - TAny* a1 : A TInt value into which the HAL handler puts the debug port value
483 An example of this function can be found in the Variant template;
486 Template::VariantHal()
490 ...\template\template_variant\specific\variant.cpp
493 EVariantHalDebugPortGet,
497 Sets the current state of each LED.
499 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
501 - TInt aFunction : This enum value.
503 - TAny* a1 : A TUint value containing the bitmask that
504 describes the state of the LEDs. For each bit in the mask, 0 = OFF, 1 = ON.
508 An example of this function can be found in the Variant template;
511 Template::VariantHal()
515 ...\template\template_variant\specific\variant.cpp
518 EVariantHalLedMaskSet,
522 Gets the current state of each LED.
524 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
526 - TInt aFunction : This enum value.
528 - TAny* a1 : A TUint value into which the HAL handler puts the bitmask that
529 describes the state of the LEDs. For each bit in the mask, 0 = OFF, 1 = ON.
533 An example of this function can be found in the Variant template;
536 Template::VariantHal()
540 ...\template\template_variant\specific\variant.cpp
543 EVariantHalLedMaskGet,
547 Gets the current state of any Variant specific switches.
549 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
551 - TInt aFunction : This enum value.
553 - TAny* a1 : A TUint value into which the HAL handler puts the bits that
554 describe the state of the switches. The meaning of the switches is entirely
559 An example of this function can be found in the Variant template;
562 Template::VariantHal()
566 ...\template\template_variant\specific\variant.cpp
575 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
577 - TInt aFunction : This enum value.
579 - TAny* a1 : A TUint value containing the bits defining the custom restart reasons
580 that can be passed to Kern::Restart().
584 An example of this function can be found in the Variant template;
587 Template::VariantHal()
591 ...\template\template_variant\specific\variant.cpp
594 @capability PowerMgmt
598 EVariantHalCustomRestart,
602 Gets the reason for the system restart.
604 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
606 - TInt aFunction : This enum value.
608 - TAny* a1 : A TInt value into which the handler will put a value
609 representing the restart reason.
613 An example of this function can be found in the Variant template;
616 Template::VariantHal()
620 ...\template\template_variant\specific\variant.cpp
623 EVariantHalCustomRestartReason,
627 Gets the current state of the case.
629 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
631 - TInt aFunction : This enum value.
633 - TAny* a1 : A TUint value into which the HAL handler puts a value representing the case state.
634 Possible values are 0 for closed, and 1 for open.
638 An example of this function can be found in the Variant template;
641 Template::VariantHal()
645 ...\template\template_variant\specific\variant.cpp
648 EVariantHalCaseState,
652 Gets the number of screens on this platform.
654 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
656 - TInt aFunction : This enum value.
658 - TAny* a1 : This is a pointer to TInt that will contain the number of screens
663 EVariantHalCurrentNumberOfScreens,
666 Sets the startup reason for the system restart.
668 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
670 - TInt aFunction : This enum value.
672 - TAny* a1 : A TUint value containing the bits defining the startup mode
673 that will be passed to Kern::Restart().
677 An example of this function can be found in the Variant template;
680 Template::VariantHal()
684 ...\template\template_variant\specific\variant.cpp
687 @capability WriteDeviceData
691 EVariantHalPersistStartupMode,
694 Gets the startup mode after a system restart.
696 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
698 - TInt aFunction : This enum value.
700 - TAny* a1 : A TInt that will hold the returned value
704 An example of this function can be found in the Variant template;
707 Template::VariantHal()
711 ...\template\template_variant\specific\variant.cpp
714 EVariantHalGetPersistedStartupMode,
717 Returns the maximum number of values that can be used to store the startup reason required for a custom restart.
719 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
721 - TInt aFunction : This enum value.
723 - TAny* a1 : A TInt that will hold the returned value
727 An example of this function can be found in the Variant template;
730 Template::VariantHal()
734 ...\template\template_variant\specific\variant.cpp
737 EVariantHalGetMaximumCustomRestartReasons,
740 Returns the maximum number of values that can be used to store the startup mode required for a transition to
741 a EPwRestart power state.
743 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
745 - TInt aFunction : This enum value.
747 - TAny* a1 : A TInt that will hold the returned value
751 An example of this function can be found in the Variant template;
754 Template::VariantHal()
758 ...\template\template_variant\specific\variant.cpp
761 EVariantHalGetMaximumRestartStartupModes,
764 Returns a factor by which timeouts in test code should be expanded for
765 exceptionally slow platforms (e.g. with cores implemented in FPGA).
767 If this is not supported the factor should be assumed to be 1.
769 EVariantHalTimeoutExpansion,
772 Returns a serial number as an Int
774 EVariantHalSerialNumber,
777 Returns the interrupt used by sampling profiler - applicable for SMP only.
778 Each CPU_i is interrupted by interrupt number ECpuProfilingInterrupt + i
780 EVariantHalProfilingDefaultInterruptBase
791 The set of function-ids that are associated with the EHalGroupMedia
794 Each enum value represents a specific characteristic of the media driver,
795 and is passed as the second parameter to
796 the HAL handler function dealing with this group.
800 enum TMediaHalFunction
803 Gets drive information.
805 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
807 - TInt aFunction : This enum value.
809 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
810 TDriveInfoV1 structure. The HAL function needs to fill the members of
811 this structure with the appropriate information.
815 Note that the HAL handler is implemented by Symbian OS
826 EMediaHalGetROMConcurrencyInfo,
832 EMediaHalGetCodeConcurrencyInfo,
838 EMediaHalResetConcurrencyInfo,
844 EMediaHalGetROMPagingBenchmark,
850 EMediaHalGetCodePagingBenchmark,
856 EMediaHalResetPagingBenchmark,
862 EMediaHalGetDataConcurrencyInfo,
868 EMediaHalGetDataInPagingBenchmark,
874 EMediaHalGetDataOutPagingBenchmark,
880 EMediaHalGetPagingInfo,
890 The set of function-ids that are associated with the EHalGroupPower
893 Each enum value represents a specific aspect of power handling on the device.
897 enum TPowerHalFunction
901 This is used internally by Symbian
907 This is not currently used.
913 This is not currently used.
915 @capability PowerMgmt
917 EPowerHalSetAutoSwitchOffBehavior,
921 This is not currently used.
923 EPowerHalAutoSwitchOffBehavior,
927 This is not currently used.
929 @capability PowerMgmt
931 EPowerHalSetAutoSwitchOffTime,
935 This is not currently used.
937 EPowerHalAutoSwitchOffTime,
941 This is not currently used.
943 @capability PowerMgmt
945 EPowerHalResetAutoSwitchOffTimer,
949 Switches the device off.
951 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
953 - TInt aFunction : This enum value.
959 @capability PowerMgmt
965 Sets whether touching the screen with a pen or stylus will cause
966 the device to switch on.
968 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
970 - TInt aFunction : This enum value.
972 - TAny* a1 : A TBool that needs to be set to ETrue (if touching the screen
973 is to cause a power on), or EFalse (if touching the screen is not to cause
978 @capability WriteDeviceData
980 EPowerHalSetPointerSwitchesOn,
984 Tests whether touching the screen with a pen or stylus will cause
985 the device to switch on.
987 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
989 - TInt aFunction : This enum value.
991 - TAny* a1 : A TBool into which the HAL handler puts ETrue (if touching
992 the screen will cause a power on), or EFalse (if touching the screen will
993 not cause a power on).
997 EPowerHalPointerSwitchesOn,
1001 Sets whether the opening of a 'device case' will cause
1002 the device to switch on.
1004 Note that the meaning attached to a 'device case' depends on the hardware.
1006 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1008 - TInt aFunction : This enum value.
1010 - TAny* a1 : A TBool that needs to be set to ETrue (if opening
1011 the case is to cause a power on), or EFalse (if opening
1012 the case is not to cause a power on).
1016 @capability WriteDeviceData
1018 EPowerHalSetCaseOpenSwitchesOn,
1022 Tests whether the opening of a 'device case' will cause
1023 the device to switch on.
1025 Note that the meaning attached to a 'device case' depends on the hardware.
1027 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1029 - TInt aFunction : This enum value.
1031 - TAny* a1 : A TBool into which the HAL handler puts ETrue (if opening
1032 the case will cause a power on), or EFalse (if opening
1033 the case will not cause a power on).
1037 EPowerHalCaseOpenSwitchesOn,
1041 Sets whether the closing of a 'device case' will cause
1042 the device to switch off.
1044 Note that the meaning attached to a 'device case' depends on the hardware.
1046 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1048 - TInt aFunction : This enum value.
1050 - TAny* a1 : A TBool that needs to be set to ETrue (if closing
1051 the case is to cause a power off), or EFalse (if closing
1052 the case is not to cause a power off).
1056 @capability WriteDeviceData
1058 EPowerHalSetCaseCloseSwitchesOff,
1062 Tests whether the closing of a 'device case' will cause
1063 the device to switch off.
1065 Note that the meaning attached to a 'device case' depends on the hardware.
1067 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1069 - TInt aFunction : This enum value.
1071 - TAny* a1 : A TBool into which the HAL handler puts ETrue (if closing
1072 the case will cause a power off), or EFalse (if closing
1073 the case will not cause a power off).
1077 EPowerHalCaseCloseSwitchesOff,
1081 This is not currently used.
1083 @capability PowerMgmt
1085 EPowerHalSetBatteryType,
1089 This is not currently used.
1091 EPowerHalBatteryType,
1095 This is not currently used.
1097 @capability PowerMgmt
1099 EPowerHalSetBatteryCapacity,
1103 This is not currently used.
1105 EPowerHalBatteryCapacity,
1109 This is not currently used.
1111 EPowerHalAutoSwitchOffType,
1115 This is used internally by Symbian.
1117 EPowerHalTestBootSequence,
1121 Tests whether a backup power supply is present or not.
1123 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1125 - TInt aFunction : This enum value.
1127 - TAny* a1 : A TBool into which the HAL handler puts ETrue (if backup
1128 power is present), or EFalse (if backup power is not present).
1132 EPowerHalBackupPresent,
1136 Tests whether accessory power is present or not.
1138 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1140 - TInt aFunction : This enum value.
1142 - TAny* a1 : A TBool into which the HAL handler puts ETrue (if accessory
1143 power is present), or EFalse (if accessory power is not present).
1147 EPowerHalAcessoryPowerPresent,
1157 The set of function-ids that are associated with the EHalGroupDisplay
1160 Each enum value represents a specific characteristic of the hardware display,
1161 i.e. the screen or the LCD, and is passed as the second parameter to
1162 the HAL handler function dealing with this group.
1164 @see EHalGroupDisplay
1166 enum TDisplayHalFunction
1170 Gets the screen display properties.
1172 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1174 - TInt aFunction : This enum value.
1176 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1177 TScreenInfoV01 structure. The HAL function needs to fill the members of
1178 this structure with the appropriate information.
1185 case EDisplayHalScreenInfo:
1186 TPckgBuf<TScreenInfoV01> vPckg;
1188 Kern::InfoCopy(*(TDes8*)a1,vPckg);
1195 EDisplayHalScreenInfo,
1199 Registers whether it is the Window Server's responsibility to turn
1200 the screen display on or off.
1202 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1204 - TInt aFunction : This enum value.
1206 - TAny* a1 : This is a TBool value that needs to be set to ETrue or EFalse.
1213 case EDisplayHalWsRegisterSwitchOnScreenHandling:
1214 iWsSwitchOnScreen=(TBool)a1;
1220 EDisplayHalWsRegisterSwitchOnScreenHandling,
1224 Requests that the Window Server turn the screen display on.
1226 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1228 - TInt aFunction : This enum value.
1234 EDisplayHalWsSwitchOnScreen,
1238 Gets the maximum screen display contrast value.
1240 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1242 - TInt aFunction : This enum value.
1244 - TAny* a1 : A TInt value into which the HAL handler puts the maximum
1245 display contrast value.
1249 EDisplayHalMaxDisplayContrast,
1253 Sets the screen display contrast value.
1255 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1257 - TInt aFunction : This enum value.
1259 - TAny* a1 : A TInt value containing the display contrast value.
1260 Typically, this needs to lie within a range that is valid for the device.
1264 @capability WriteDeviceData
1266 EDisplayHalSetDisplayContrast,
1270 Gets the screen display's current contrast value.
1272 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1274 - TInt aFunction : This enum value.
1276 - TAny* a1 : A TInt value into which the HAL handler puts the
1277 display contrast value.
1281 EDisplayHalDisplayContrast,
1285 Sets the backlight behaviour.
1287 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1289 - TInt aFunction : This enum value.
1291 - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1293 - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1295 @capability WriteDeviceData
1297 EDisplayHalSetBacklightBehavior,
1301 Gets information about the backlight behaviour.
1303 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1305 - TInt aFunction : This enum value.
1307 - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1309 - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1311 EDisplayHalBacklightBehavior,
1315 Sets the backlight timeout value, i.e. the length of time that the backlight
1318 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1320 - TInt aFunction : This enum value.
1322 - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1324 - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1326 @capability WriteDeviceData
1328 EDisplayHalSetBacklightOnTime,
1332 Gets information about the backlight timeout value, i.e. the length
1333 of time that the backlight will stay on.
1335 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1337 - TInt aFunction : This enum value.
1339 - TAny* a1 : Not specified; depends on the manufacturer's implementation.
1341 - TAny* a2 : Not specified; depends on the manufacturer's implementation.
1343 EDisplayHalBacklightOnTime,
1347 Sets the backlight on or off.
1349 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1351 - TInt aFunction : This enum value.
1353 - TAny* a1 : A TBool that needs to be set to ETrue or EFalse.
1357 @capability WriteDeviceData
1359 EDisplayHalSetBacklightOn,
1363 Gets the current state of the backlight.
1365 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1367 - TInt aFunction : This enum value.
1369 - TAny* a1 : A TBool into which the HAL handler
1370 puts ETrue (for On) or EFalse (for Off).
1374 EDisplayHalBacklightOn,
1378 Gets the screen display's maximum brightness value.
1380 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1382 - TInt aFunction : This enum value.
1384 - TAny* a1 : A TInt value into which the HAL handler puts the
1385 maximum brightness value.
1389 EDisplayHalMaxDisplayBrightness,
1393 Sets the screen display's brightness value.
1395 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1397 - TInt aFunction : This enum value.
1399 - TAny* a1 : A TInt value containing the brightness value.
1400 Typically, this needs to lie within a range that is valid for the device.
1404 @capability WriteDeviceData
1406 EDisplayHalSetDisplayBrightness,
1410 Gets the screen display's current brightness value.
1412 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1414 - TInt aFunction : This enum value.
1416 - TAny* a1 : A TInt value into which the HAL handler puts the
1421 EDisplayHalDisplayBrightness,
1425 Gets the number of available display modes.
1427 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1429 - TInt aFunction : This enum value.
1431 - TAny* a1 : A TInt value into which the HAL handler puts the
1432 number of display modes value.
1436 EDisplayHalModeCount,
1440 Sets the display mode.
1442 This will normally update the information maintained by the screen driver
1443 in the form of a TScreenInfoV01 struct.
1445 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1447 - TInt aFunction : This enum value.
1449 - TAny* a1 : A TInt value containing a number representing the display mode.
1450 Typically, this needs to lie within a range that is valid for the device.
1451 For example, the value usually needs to be positive, and be less than
1452 the number of display modes.
1456 @capability MultimediaDD
1464 Gets the current screen display mode.
1466 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1468 - TInt aFunction : This enum value.
1470 - TAny* a1 : A TInt value into which the HAL handler puts the
1471 the current display mode value.
1479 Sets a colour value for the specified palette entry.
1481 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1483 - TInt aFunction : This enum value.
1485 - TAny* a1 : A TInt value that identifies the palette entry. The value
1486 occupies the junior 8 bits of the integer. The senior 24 bits are all 0.
1488 - TAny* a2 : A TInt value containing the colour value; it represents
1489 a standard Symbian OS RGB colour value, and occupies the junior 24 bits
1490 of the integer. The senior 8 bits are not defined.
1492 @capability MultimediaDD
1494 EDisplayHalSetPaletteEntry,
1498 Gets the colour value for the specified palette entry.
1500 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1502 - TInt aFunction : This enum value.
1504 - TAny* a1 : A TInt value that identifies the palette entry. The value
1505 is expected to occupy the junior 8 bits of the integer. The senior 24 bits
1508 - TAny* a2 : On return from the HAL function, a TInt value containing
1509 the colour value. The value occupies the junior 24 bits of the integer.
1510 The senior 8 bits are not defined.
1512 EDisplayHalPaletteEntry,
1516 Sets the screen display on or off.
1518 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1520 - TInt aFunction : This enum value.
1522 - TAny* a1 : A TBool that needs to be set to ETrue (for On),
1523 or EFalse (for Off).
1527 @capability PowerMgmt
1529 EDisplayHalSetState,
1533 Gets the state of the screen display, i.e. whether the display is on or off.
1535 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1537 - TInt aFunction : This enum value.
1539 - TAny* a1 : A TBool into which the HAL handler puts ETrue (for On),
1540 or EFalse (for Off).
1548 Gets the maximum number of colours that the screen display supports.
1550 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1552 - TInt aFunction : This enum value.
1554 - TAny* a1 : A TInt value into which the HAL handler puts the maximum
1563 Gets information about the current display mode.
1565 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1567 - TInt aFunction : This enum value.
1569 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1570 TVideoInfoV01 structure. The HAL function needs to fill the members of
1571 this structure with the appropriate information.
1578 EDisplayHalCurrentModeInfo,
1582 Gets information about the specified display mode.
1584 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1586 - TInt aFunction : This enum value.
1588 - TAny* a1 : A TInt value containing the number of the display mode for which
1589 information is to be fetched.
1591 - TAny* a2 : This is a pointer to a package buffer (TPckgBuf) containing a
1592 TVideoInfoV01 structure. The HAL function needs to fill the members of
1593 this structure with the appropriate information.
1598 EDisplayHalSpecifiedModeInfo,
1600 // EDisplaySwitchOffScreen,
1604 Fills/copies an area of the screen display with a rectangle of a specified colour.
1606 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1608 - TInt aFunction : This enum value.
1610 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1611 SRectOpInfo structure. The structure contains the information that
1612 is needed for the operation.
1619 EDisplayHalBlockFill,
1623 Fills/copies an area of the screen display with a rectangle of a specified colour.
1625 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1627 - TInt aFunction : This enum value.
1629 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1630 SRectOpInfo structure. The structure contains the information that
1631 is needed for the operation.
1638 EDisplayHalBlockCopy,
1642 Tests whether the screen display is secure.
1644 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1646 - TInt aFunction : This enum value.
1648 - TAny* a1 : A TBool into which the HAL handler puts ETrue (for secure mode),
1649 or EFalse (for non-secure mode).
1657 Sets the screen display into secure or non-secure mode.
1659 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1661 - TInt aFunction : This enum value.
1663 - TAny* a1 : A TBool that needs to be set to ETrue (for secure mode),
1664 or EFalse (for non-secure mode).
1668 @capability MultimediaDD
1670 EDisplayHalSetSecure,
1674 Gets the address of the DSA buffer
1676 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1678 - TInt aFunction : This enum value.
1680 - TAny* a1 : A TInt value into which the HAL handler puts the address
1684 EDisplayHalGetDisplayMemoryAddress,
1686 Gets a handle to the DSA buffer memory
1688 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1690 - TInt aFunction : This enum value.
1692 - TAny* a1 : A TInt value into which the HAL handler puts the handle value
1696 EDisplayHalGetDisplayMemoryHandle,
1700 Ask how many resolutions there are on a specific screen
1702 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1704 - TInt aFunction : This enum value.
1706 - TAny* a1 : A TInt reference to pass back the number of resolutions.
1710 @capability MultimediaDD
1712 EDisplayHalNumberOfResolutions,
1716 Gets information on a specific configuration for a particular screen
1718 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1720 - TInt aFunction : This enum value.
1722 - TAny* a1 : A TInt configuration index to get back.
1724 - TAny* a2 : A TVideoInfoV01 descriptor to get the info back.
1726 @capability MultimediaDD
1728 EDisplayHalSpecificScreenInfo,
1732 Gets info on the current configuration for a particular screen
1734 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1736 - TInt aFunction : This enum value.
1738 - TAny* a1 : A TVideoInfoV01 descriptor to get the info back.
1742 @capability MultimediaDD
1744 EDisplayHalCurrentScreenInfo,
1748 Sets the screen display into a predefined state.
1750 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1752 - TInt aFunction : This enum value.
1754 - TAny* a1 : A TInt that is one of the value of TDisplayState enum
1758 @capability MultimediaDD
1760 EDisplayHalSetDisplayState,
1763 Gets the spinner of screen display state.
1765 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1767 - TInt aFunction : This enum value.
1769 - TAny* a1 : A TInt which is set to the spinner value on return
1773 @capability MultimediaDD
1775 EDisplayHalGetStateSpinner,
1781 The set of display state ids that are associated with EDisplayHalSetDisplayState
1783 @see EDisplayHalSetDisplayState
1786 enum TDisplayConnectState
1792 EDisplayStateTooHigh
1799 The set of function-ids that are associated with the EHalGroupDigitiser
1802 Each enum value represents a specific characteristic of the digitiser,
1803 and is passed as the second parameter to the HAL handler function
1804 dealing with this group.
1806 @see EHalGroupDigitiser
1808 enum TDigitiserHalFunction
1812 Sets the calibration data (i.e. the values of the digitiser to
1813 screen constants) for the digitiser device.
1815 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1817 - TInt aFunction : This enum value.
1819 - TAny* a1 : A pointer to a TDigitizerCalibration object.
1823 @see TDigitizerCalibration
1825 @capability WriteDeviceData
1827 EDigitiserHalSetXYInputCalibration,
1831 Gets the calibration data (i.e. the values of the digitiser to
1832 screen constants) for the digitiser device.
1834 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1836 - TInt aFunction : This enum value.
1838 - TAny* a1 : A pointer to a TDigitizerCalibration object; the HAL function
1839 needs to fill the members of this structure with
1840 the appropriate information.
1844 @see TDigitizerCalibration
1846 EDigitiserHalCalibrationPoints,
1850 Saves the calibration data (i.e. the values of the digitiser to
1851 screen constants) for the digitiser device in a persistent memory area so
1852 that they can be restored after a power cycle.
1854 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1856 - TInt aFunction : This enum value.
1862 EDigitiserHalSaveXYInputCalibration,
1866 Restores the calibration data (i.e. the values of the digitiser to
1867 screen constants) for the digitiser device from a persistent memory area so
1868 that they can be restored after a power cycle.
1870 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1872 - TInt aFunction : This enum value.
1878 @capability WriteDeviceData
1880 EDigitiserHalRestoreXYInputCalibration,
1884 Gets digitiser information as defined by the content of
1885 a TDigitiserInfoV01 (or TDigitiserInfoV02) struct.
1887 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1889 - TInt aFunction : This enum value.
1891 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1892 TDigitiserInfoV01 (or TDigitiserInfoV02) structure. The HAL function needs
1893 to fill the members of this structure with the appropriate information.
1898 @see TDigitiserInfoV01
1900 EDigitiserHalXYInfo,
1904 Tests whether the digitiser is on or off.
1906 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1908 - TInt aFunction : This enum value.
1910 - TAny* a1 : A TBool value that needs to be set to ETrue (On), or EFalse (Off).
1914 EDigitiserHalXYState,
1918 Sets the digitiser either on or off.
1920 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1922 - TInt aFunction : This enum value.
1924 - TAny* a1 : A TBool that needs to be set to ETrue (On), or EFalse (Off).
1928 @capability PowerMgmt
1930 EDigitiserHalSetXYState,
1933 Checks whether the pointing device supports 3rd dimension.
1935 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1937 - TInt aFunction : This enum value.
1939 - TAny* a1 : A TBool value that needs to be set to ETrue (3D supported), or EFalse (3D not supported).
1943 EDigitiserHal3DPointer,
1946 Sets the detection range above the screen.
1948 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1950 - TInt aFunction : This enum value.
1952 - TAny* a1 : A TInt value that is the detection range in units of distance above the screen.
1956 EDigitiserHalSetZRange,
1961 Sets the number of pointers it supports on the digitiser.
1963 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1965 - TInt aFunction : This enum value.
1967 - TAny* a1 : A TInt value that sets the number of pointer to be supported by the digitiser driver
1971 EDigitiserHalSetNumberOfPointers,
1976 Gets digitiser information as defined by the content of
1977 a TDigitiserInfoV02 struct.
1979 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
1981 - TInt aFunction : This enum value.
1983 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
1984 TDigitiserInfoV02 structure. The HAL function needs
1985 to fill the members of this structure with the appropriate information.
1990 @see TDigitiserInfoV02
2003 The set of function-ids that are associated with the EHalGroupSound
2006 Each enum value represents a specific characteristic of the sound driver,
2007 and is passed as the second parameter to the HAL handler function
2008 dealing with this group.
2010 Note that a sound driver in Symbian OS is only maintained for backwards
2011 compatibility with the Psion Series 5MX devices.
2015 enum TSoundHalFunction
2018 Gets sound driver information.
2020 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2022 - TInt aFunction : This enum value.
2024 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
2025 TSoundInfoV1 structure. The HAL function needs to fill the members of
2026 this structure with the appropriate information.
2037 Sets whether a click is to be sounded on a key press.
2039 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2041 - TInt aFunction : This enum value.
2043 - TAny* a1 : A TBool that needs to be set to ETrue (click is to be sounded),
2044 or EFalse (click is not to be sounded).
2048 @capability WriteDeviceData
2050 ESoundHalSetKeyClickEnabled,
2054 Sets whether a click that is to be sounded on a key press, is loud or not.
2056 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2058 - TInt aFunction : This enum value.
2060 - TAny* a1 : A TBool that needs to be set to ETrue (click is to be loud),
2061 or EFalse (click is not to be loud).
2065 @capability WriteDeviceData
2067 ESoundHalSetKeyClickLoud,
2071 Sets whether a click is to be sounded when a pointing device touches
2074 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2076 - TInt aFunction : This enum value.
2078 - TAny* a1 : A TBool that needs to be set to ETrue (click is to be sounded),
2079 or EFalse (click is not to be sounded).
2083 @capability WriteDeviceData
2085 ESoundHalSetPointerClickEnabled,
2089 Sets whether a click that is to be sounded when a pointing device touches
2090 the screen, is loud or not.
2092 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2094 - TInt aFunction : This enum value.
2096 - TAny* a1 : A TBool that needs to be set to ETrue (click is to be loud),
2097 or EFalse (click is not to be loud).
2101 @capability WriteDeviceData
2103 ESoundHalSetPointerClickLoud,
2107 Sets whether the beep sound is enabled.
2109 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2111 - TInt aFunction : This enum value.
2113 - TAny* a1 : A TBool that needs to be set to ETrue (beep is enabled),
2114 or EFalse (beep is not enabled).
2118 @capability WriteDeviceData
2120 ESoundHalSetBeepEnabled,
2124 Sets whether the beep sound is to be loud.
2126 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2128 - TInt aFunction : This enum value.
2130 - TAny* a1 : A TBool that needs to be set to ETrue (beep is loud),
2131 or EFalse (beep is not loud).
2135 @capability WriteDeviceData
2137 ESoundHalSetBeepLoud,
2141 Sets whether the sound driver is enabled.
2143 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2145 - TInt aFunction : This enum value.
2147 - TAny* a1 : A TBool that needs to be set to ETrue (driver is enabled),
2148 or EFalse (driver is not enabled).
2152 @capability PowerMgmt
2154 ESoundHalSetSoundDriverEnabled,
2158 Sets whether the sound driver is to generate loud sounds.
2160 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2162 - TInt aFunction : This enum value.
2164 - TAny* a1 : A TBool that needs to be set to ETrue (driver is to generate loud sounds),
2165 or EFalse (driver is not to generate loud sounds).
2169 @capability WriteDeviceData
2171 ESoundHalSetSoundDriverLoud,
2175 Sets whether sound generation is enabled.
2177 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2179 - TInt aFunction : This enum value.
2181 - TAny* a1 : A TBool that needs to be set to ETrue (sound generation is enabled),
2182 or EFalse (sound generation is not enabled).
2186 @capability WriteDeviceData
2188 ESoundHalSetSoundEnabled,
2192 Sets whether generation of key clicks is to be overridden.
2194 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2196 - TInt aFunction : This enum value.
2198 - TAny* a1 : A TBool that needs to be set to ETrue (key clicks to be overridden),
2199 or EFalse (key clicks not to be overridden).
2203 @capability WriteDeviceData
2205 ESoundHalSetKeyClickOverridden,
2209 Tests whether the generation of key clicks is overridden.
2211 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2213 - TInt aFunction : This enum value.
2215 - TAny* a1 : A TBool into which the HAL handler puts ETrue (key clicks are overridden),
2216 or EFalse (key clicks are not overridden).
2220 ESoundHalKeyClickOverridden,
2224 Tests whether a click that is to be sounded on a key press, is loud or not.
2226 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2228 - TInt aFunction : This enum value.
2230 - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is loud),
2231 or EFalse (click is not loud).
2235 ESoundHalKeyClickLoud,
2239 Tests whether a click is to be sounded on a key press.
2241 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2243 - TInt aFunction : This enum value.
2245 - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is sounded),
2246 or EFalse (click is not sounded).
2250 ESoundHalKeyClickEnabled,
2254 Tests whether a click that is to be sounded when a pointing device touches
2255 the screen, is loud or not.
2257 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2259 - TInt aFunction : This enum value.
2261 - TAny* a1 : A TBool into which the HAL handler puts ETrue (click is loud),
2262 or EFalse (click is not loud).
2266 ESoundHalPointerClickLoud,
2270 Tests whether a click is to be sounded when a pointing device touches
2273 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2275 - TInt aFunction : This enum value.
2277 - TAny* a1 : A TBool into which teh HAL handler puts ETrue (click is to be sounded),
2278 or EFalse (click is not to be sounded).
2282 ESoundHalPointerClickEnabled,
2286 Generates a key click sound.
2288 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2290 - TInt aFunction : This enum value.
2300 Generates a pointer click sound.
2302 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2304 - TInt aFunction : This enum value.
2310 ESoundHalPointerClick,
2314 Generates a beep sound.
2316 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2318 - TInt aFunction : This enum value.
2328 Gets the maximum volume of the key click.
2330 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2332 - TInt aFunction : This enum value.
2334 - TAny* a1 : A TInt value into which the HAL handler puts the maximum volume value.
2338 ESoundHalKeyClickVolumeMax,
2342 Gets the maximum volume of the pointer click.
2344 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2346 - TInt aFunction : This enum value.
2348 - TAny* a1 : A TInt value into which the HAL handler puts the maximum volume value.
2352 ESoundHalPointerClickVolumeMax,
2362 The set of function-ids that are associated with the EHalGroupMouse
2365 Each enum value represents a specific characteristic of the mouse device,
2366 and is passed as the second parameter to the HAL handler function
2367 dealing with this group.
2371 enum TMouseHalFunction
2376 Tests whether a mouse device is visible.
2378 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2380 - TInt aFunction : This enum value.
2382 - TAny* a1 : A TBool into which the HAL handler
2383 puts ETrue (for visible) or EFalse (for not-visible).
2387 EMouseHalMouseState,
2391 Sets the state of the mouse device, i.e. whether it is visible or invisible.
2393 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2395 - TInt aFunction : This enum value.
2397 - TAny* a1 : A TBool that needs to be set to ETrue (for visible)
2398 or EFalse (for not-visible).
2402 @capability MultimediaDD
2404 EMouseHalSetMouseState,
2408 Gets the mouse speed, i.e. how fast the mouse pointer moves.
2410 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2412 - TInt aFunction : This enum value.
2414 - TAny* a1 : A TInt value into which the HAL handler puts the speed value.
2415 This is expected to be a value in the range 0 to 255.
2419 EMouseHalMouseSpeed,
2423 Sets the mouse speed, i.e. how fast the mouse pointer moves.
2425 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2427 - TInt aFunction : This enum value.
2429 - TAny* a1 : A TInt value containing the speed value to be set
2430 This is expected to be a value in the range 0 to 255.
2434 @capability MultimediaDD
2436 EMouseHalSetMouseSpeed,
2440 Gets the mouse acceleration, i.e. how much the mouse pointer accelerates
2441 as the user moves it faster.
2443 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2445 - TInt aFunction : This enum value.
2447 - TAny* a1 : A TInt value into which the HAL handler puts the acceleration value.
2448 This is expected to be a value in the range 0 to 255.
2452 EMouseHalMouseAcceleration,
2456 Sets the mouse acceleration, i.e. how much the mouse pointer accelerates
2457 as the user moves it faster.
2459 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2461 - TInt aFunction : This enum value.
2463 - TAny* a1 : A TInt value containing the acceleration value to be set
2464 This is expected to be a value in the range 0 to 255.
2468 @capability MultimediaDD
2470 EMouseHalSetMouseAcceleration,
2474 Gets the state of the mouse buttons.
2476 This is not currently supported.
2478 EMouseHalMouseButtonState,
2482 Gets information about the mouse display characteristics.
2484 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2486 - TInt aFunction : This enum value.
2488 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
2489 TMouseInfoV01 structure. The HAL function needs to fill the members of
2490 this structure with the appropriate information.
2503 enum TEmulatorHalFunction
2505 EEmulatorHalStringProperty,
2506 EEmulatorHalIntProperty,
2507 EEmulatorHalBoolProperty,
2508 EEmulatorHalMapFilename,
2509 EEmulatorHalColorDepth,
2510 EEmulatorHalSetFlip,
2511 EEmulatorHalCPUSpeed,
2512 EEmulatorHalNumberOfScreens,
2513 EEmulatorHalSetDisplayChannel,
2520 The set of function-ids that are associated with the EHalGroupKeyboard
2523 Each enum value represents a specific characteristic of the keyboard,
2524 and is passed as the second parameter to the HAL handler function
2525 dealing with this group.
2527 @see EHalGroupKeyboard
2529 enum TKeyboardHalFunction
2533 Tests whether the keyboard is on or off.
2535 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2537 - TInt aFunction : This enum value.
2539 - TAny* a1 : A TBool into which the HAL handler puts ETrue (for On),
2540 or EFalse (for Off).
2544 EKeyboardHalKeyboardState,
2548 Sets the keyboard either on or off.
2550 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2552 - TInt aFunction : This enum value.
2554 - TAny* a1 :A TBool that needs to be set to ETrue (On), or EFalse (Off).
2558 @capability PowerMgmt
2560 EKeyboardHalSetKeyboardState,
2564 Gets information about the keyboard.
2566 Requirements of the HAL function handler's 2nd, 3rd and 4th parameters:
2568 - TInt aFunction : This enum value.
2570 - TAny* a1 : This is a pointer to a package buffer (TPckgBuf) containing a
2571 TKeyboardInfoV01 structure. The HAL function needs to fill the members of
2572 this structure with the appropriate information.
2576 @see TKeyboardInfoV01
2579 EKeyboardHalKeyboardInfo,
2586 The set of function-ids that are associated with the EHalGroupVM
2594 Evict the contents of the virtual memory cache and reduce it to its minimum size.
2596 @capability WriteDeviceData
2602 Change the minimum and maximum RAM sizes used for the virtual memory cache.
2603 These values may be silently restricted to platforn specific limits.
2604 If required, GetCacheSize can be used to verify sizes actually applied to the system.
2606 If there is not enough memory to set the specified cache size then KErrNoMemory is
2607 returned, however the cache size may still have been modified in an attempt to
2608 service the request.
2610 This hal function expects two TUint arguments.
2611 The first argument (a1) is the minimum size for cache in bytes.
2612 The second argument (a2) is the maximum size for cache in bytes; using zero for
2613 this value will restore cache sizes to the initial values used after boot.
2615 The return value from the function is one of:
2616 KErrNone, if successful;
2617 KErrNoMemory if there is not enough memory;
2618 KErrArgument if a1>a2;
2619 otherwise one of the other system wide error codes.
2623 TUint minRam = 128*1024; // 128k
2624 TUint maxRam = KMaxTUint; // unlimited
2625 TInt r = UserSvr::HalFunction(EHalGroupVM,EVMHalSetCacheSize,(TAny*)minRam,(TAny*)maxRam));
2630 @capability WriteDeviceData
2636 Get the sizes for the virtual memory cache.
2637 The first argument (a1) is a pointer to a #SVMCacheInfo object.
2638 The second argument (a2) must be zero.
2644 Get paging event information.
2645 The first argument (a1) is a pointer to a descriptor whose contents will be filled
2646 with a #SVMEventInfo object.
2647 The second argument (a2) must be zero.
2653 Reset the counters obtained with EVMHalGetEventInfo.
2656 EVMHalResetEventInfo,
2662 EVMHalGetOriginalRomPages,
2674 EVMHalGetConcurrencyInfo,
2680 EVMHalResetConcurrencyInfo,
2686 EVMHalGetPagingBenchmark,
2692 EVMHalResetPagingBenchmark,
2695 Gets information about the size of the swap partition, and how much is currently used.
2696 The first argument (a1) should be a pointer to the SVMSwapInfo structure to write.
2697 @return KErrNone if successful, or KErrNotSupported if data paging is not supported.
2704 Gets information about the current thrashing level.
2706 This is a number between 0 and 255 representing how close the system is to thrashing, where 0
2707 indicates no thrashing and 255 indicates severe thrashing.
2709 @return The current thrashing level.
2713 EVMHalGetThrashLevel,
2716 Set the available swap space thresholds at which low memory notifications will be generated.
2718 Notifications are generated through the RChangeNotifier API, using the enumeration value
2721 The first argument (a1) should contain a pointer to a SVMSwapThresholds structure. The
2722 thresholds are specified in bytes.
2724 @return KErrNone if successful, KErrNotSupported if data paging is not supported or KErrArgument
2725 if the thresholds are larger than the size of the swap partition, or if the low threshold is
2726 larger than the good threshold.
2728 @see RChangeNotifier
2731 EVMHalSetSwapThresholds,
2734 Set the thrash level thresholds at which thrash level notifications will be generated.
2736 Notifications are generated through the RChangeNotifier API, using the enumeration value
2737 EChangesThrashLevel.
2739 The first argument (a1) should contain the thrashing threshold, and the seond one (a2) should
2740 contain the good threshold.
2742 The thresholds are specified as numbers between 0 and 255 inclusive.
2744 @return KErrNone if successful, KErrArgument if the thresholds are out of range or if the
2745 thrashing threshold is smaller than the good threshold.
2747 @see RChangeNotifier
2750 EVMHalSetThrashThresholds,
2755 Paging event information.
2762 The total number of page faults which have occurred.
2764 TUint64 iPageFaultCount;
2767 The total number of page faults which resulted in reading a page
2770 TUint64 iPageInReadCount;
2772 // do not add new members to this struct.
2773 // instead, derive a new SVMEventInfoV2 class from this and add new members to that.
2778 VM cache information.
2785 The minimum size of virtual memory cache, in bytes.
2790 The maximum size of virtual memory cache, in bytes.
2795 The current size of virtual memory cache, in bytes.
2796 This may be larger than iMaxSize.
2798 TUint32 iCurrentSize;
2801 The current size of the freeable memory in the virtual memory cache, in bytes.
2803 TUint32 iMaxFreeSize;
2805 // do not add new members to this struct, this is a compatability break
2810 Enumeration defining the bitmask returned from a call to the demnd paging HAL function
2811 EDemandPagingGetPageState.
2816 enum TDemandPagingPageState
2818 // Values common to both moving and multiple memory models
2819 EPageStateInRom = 1<<16,
2820 EPageStateInRamCode = 1<<17,
2821 EPageStatePaged = 1<<18,
2822 EPageStatePageTablePresent = 1<<19,
2823 EPageStatePtePresent = 1<<20,
2824 EPageStatePteValid = 1<<21,
2825 // Values specific to multiple memory model
2826 EPageStateCodeChunkPresent = 1<<22,
2827 EPageStatePhysAddrPresent = 1<<23
2832 Information about concurrency in the demand paging system.
2837 struct SPagingConcurrencyInfo
2840 The maximum observed number of threads waiting to page in.
2842 TInt iMaxWaitingCount;
2845 The maximum observed number of threads paging in.
2847 TInt iMaxPagingCount;
2852 Enumeration of demand paging benchmarks.
2857 enum TPagingBenchmark
2859 EPagingBmReadRomPage,
2860 EPagingBmReadCodePage,
2861 EPagingBmDecompress,
2862 EPagingBmSetCodePageFree,
2863 EPagingBmSetCodePageOld,
2865 EPagingBmFixupCodePage,
2866 EPagingBmReadDataPage,
2867 EPagingBmWriteDataPage,
2868 EPagingBmDeleteNotifyDataPage,
2869 EPagingBmReadDataMedia,
2870 EPagingBmWriteDataMedia,
2877 Benchmark information for a specific operation. All times are in terms of the system's fast timer.
2882 struct SPagingBenchmarkInfo
2885 Number of times the operation has been executed.
2890 Total time elapsed while executing the operation.
2895 Maximum time recorded for a single execution.
2900 Minimum time recorded for a single execution.
2906 Information about concurrency of ROM demand paging requests in the media subsystem.
2911 struct SMediaROMPagingConcurrencyInfo
2914 The maximum number of pending page in requests in the main queue any time during this session.
2916 TUint8 iMaxReqsInPending;
2919 The maximum number of pending page in requests in the deferred queue any time during this session.
2921 TUint8 iMaxReqsInDeferred;
2924 The maximum number of deferrals of any single page in request during this session.
2926 TUint8 iMaxDeferrals;
2929 The total number of times the page in DFC run with an empty main queue during this session.
2931 TUint8 iTotalRunDry;
2934 The total number of page in requests first-time deferred during this session.
2936 TUint iTotalFirstTimeDeferrals;
2939 The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue).
2941 TUint iTotalReDeferrals;
2944 The total number of page in requests serviced from main queue when completing an asynchronous request.
2946 TUint iTotalSynchServicedFromMainQ;
2949 The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request.
2951 TUint iTotalSynchDeferredFromMainQ;
2954 The total number of page in requests issued whilst processing other page in requests.
2956 TUint iTotalConcurrentReqs;
2959 The total number of page in requests issued with at least one queue not empty.
2961 TUint iTotalReqIssuedNonEmptyQ;
2964 The total number of times the main queue was emptied when completing an asynchronous request during this session.
2966 TUint iTotalSynchEmptiedMainQ;
2969 The total number of times the page in DFC was cancelled because the main queue was synchronously emptied.
2971 TUint iTotalDryRunsAvoided;
2975 Information about concurrency of Code demand paging requests in the media subsystem.
2980 struct SMediaCodePagingConcurrencyInfo
2983 The maximum number of pending page in requests in the main queue any time during this session.
2985 TUint8 iMaxReqsInPending;
2988 The maximum number of pending page in requests in the deferred queue any time during this session.
2990 TUint8 iMaxReqsInDeferred;
2993 The maximum number of deferrals of any single page in request during this session.
2995 TUint8 iMaxDeferrals;
3003 The total number of page in requests first-time deferred during this session.
3005 TUint iTotalFirstTimeDeferrals;
3008 The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue).
3010 TUint iTotalReDeferrals;
3013 The total number of page in requests serviced from main queue when completing an asynchronous request.
3015 TUint iTotalSynchServicedFromMainQ;
3018 The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request.
3020 TUint iTotalSynchDeferredFromMainQ;
3023 The total number of page in requests issued whilst processing other page in requests.
3025 TUint iTotalConcurrentReqs;
3028 The total number of page in requests issued with at least one queue not empty.
3030 TUint iTotalReqIssuedNonEmptyQ;
3035 Information about concurrency of Data demand paging requests in the media subsystem.
3040 struct SMediaDataPagingConcurrencyInfo
3043 The maximum number of pending page in requests in the main queue any time during this session.
3045 TUint8 iMaxReqsInPending;
3048 The maximum number of pending page in requests in the deferred queue any time during this session.
3050 TUint8 iMaxReqsInDeferred;
3053 The maximum number of deferrals of any single page in request during this session.
3055 TUint8 iMaxDeferrals;
3058 The total number of times the page in DFC run with an empty main queue during this session.
3060 TUint8 iTotalRunDry;
3063 The total number of page in requests first-time deferred during this session.
3065 TUint iTotalFirstTimeDeferrals;
3068 The total number of page in requests re-deferred during this session (deferred again after being picked out of deferred queue).
3070 TUint iTotalReDeferrals;
3073 The total number of page in requests serviced from main queue when completing an asynchronous request.
3075 TUint iTotalSynchServicedFromMainQ;
3078 The total number of page in requests deferred after being picked out of main queue when completing an asynchronous request.
3080 TUint iTotalSynchDeferredFromMainQ;
3083 The total number of page in requests issued whilst processing other page in requests.
3085 TUint iTotalConcurrentReqs;
3088 The total number of page in requests issued with at least one queue not empty.
3090 TUint iTotalReqIssuedNonEmptyQ;
3093 The total number of times the main queue was emptied when completing an asynchronous request during this session.
3095 TUint iTotalSynchEmptiedMainQ;
3098 The total number of times the page in DFC was cancelled because the main queue was synchronously emptied.
3100 TUint iTotalDryRunsAvoided;
3105 Information about paging requests in the media subsystem.
3110 struct SMediaPagingInfo
3113 The total number of ROM page in requests
3115 TInt iRomPageInCount;
3117 The total number of Code page in requests
3119 TInt iCodePageInCount;
3121 The total number of Data page in requests
3123 TInt iDataPageInCount;
3125 The total number of Data page out requests
3127 TInt iDataPageOutCount;
3129 The total number of "background" Data page out requests
3130 i.e. a page out which only occurs when the media is otherwise idle
3132 TInt iDataPageOutBackgroundCount;
3138 Swap partition information.
3145 The size of the swap partition, in bytes.
3150 The amount of swap currently free, in bytes.
3154 // do not add new members to this struct, this is a compatability break
3160 Free swap notification thresholds.
3164 struct SVMSwapThresholds
3167 The low threshold, in bytes
3169 TUint64 iLowThreshold;
3172 The good threshold, in bytes.
3174 TUint64 iGoodThreshold;
3176 // do not add new members to this struct, this is a compatability break
3184 The set of function-ids that are associated with the EHalGroupRam
3190 enum TRamHalFunction
3193 Retrieve the number of RAM Zones configured for this variant.
3195 The first argument (a1) is a TUint in which to store the zone count.
3196 The second argument (a2) must be zero.
3199 ERamHalGetZoneCount,
3202 Retrieve configuration information about a zone.
3204 The first argument (a1) is a TUint indicating the index of the zone into the zone array.
3205 The second argument (a2) is a pointer to a struct SRamZoneConfig in which to store the data.
3208 ERamHalGetZoneConfig,
3211 Retrieve utilisation information about a zone.
3213 The first argument (a1) is a TUint indicating the index of the zone into the zone array.
3214 The second argument (a2) is a pointer to a struct SRamZoneUtilisation in which to store the data.
3217 ERamHalGetZoneUtilisation,
3222 Ram zone configuration information.
3226 struct SRamZoneConfig
3229 ID number of the RAM zone
3234 The index of the RAM zone in the RAM zone array
3239 Physical base address of the RAM zone
3244 Physical end address of the RAM zone
3249 The total number of pages that are in the RAM zone
3254 Preference value for the RAM zone, lower preference RAM zones are used first
3259 Zone flags - specify whether the RAM zone should be reserved for contiguous buffer or h/w etc
3266 Ram zone utilisation information.
3270 struct SRamZoneUtilisation
3273 ID number of the RAM zone
3278 The index of the RAM zone in the zone array
3283 The total number of pages that are in the RAM zone
3288 The number of pages free in the RAM zone
3293 The number of 'unknown' (reserved at startup or holes in the zone) pages allocated in the RAM zone
3295 TUint32 iAllocUnknown;
3298 The number of fixed pages allocated in the RAM zone
3300 TUint32 iAllocFixed;
3303 The number of movable pages allocated in the RAM zone
3305 TUint32 iAllocMovable;
3308 The number of discardable pages allocated in the RAM zone
3310 TUint32 iAllocDiscardable;
3313 The number of other pages allocated in the RAM zone
3315 TUint32 iAllocOther;