diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/e32hal.h --- a/epoc32/include/e32hal.h Wed Mar 31 12:27:01 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,615 +0,0 @@ -// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// e32\include\e32hal.h -// -// - -#ifndef __E32HAL_H__ -#define __E32HAL_H__ -#include - -/** -@publishedPartner -@deprecated No replacement. -*/ -const TInt KMaxRomDevices=8; - - - - -/** -@publishedPartner -@released - -Defines the calibration settings that can be restored by -the digitiser's implementation of DDigitiser::RestoreXYInputCalibration. - -See the digitiser template port in: -@code -...\template\template_variant\specific\xyin.cpp -@endcode - -@see DDigitiser::RestoreXYInputCalibration() -*/ -enum TDigitizerCalibrationType - { - EFactory, /**< Restore to factory settings. */ - ESaved /**< Restore to saved settings. */ - }; - - - - -/** -@publishedPartner -@released - -Defines the screen coordinates of the point touched during calibration. - -An object of this type is passed, via a TPckgBuf, to the HAL handler -that deals with the HAL group function-id pair: -- EHalGroupDigitiser, EDigitiserHalSetXYInputCalibration -- EHalGroupDigitiser, EDigitiserHalCalibrationPoints -- EHalGroupDigitiser, EDigitiserHalRestoreXYInputCalibration - -@see EDigitiserHalSetXYInputCalibration -@see EDigitiserHalCalibrationPoints -@see EDigitiserHalRestoreXYInputCalibration -@see TDigitiserHalFunction -@see EHalGroupDigitiser -@see TPckgBuf -*/ -class TDigitizerCalibration - { -public: - TPoint iTl; /**< Top left point.*/ - TPoint iBl; /**< Bottom left point. */ - TPoint iTr; /**< Top right point.*/ - TPoint iBr; /**< Bottom right point.*/ - }; - - - - -/** -@publishedPartner -@released - -An enum that identifies the full set of keyboard types. - -A variable of this type is defined and used in the TKeyboardInfoV01 struct. - -@see TKeyboardInfoV01::iKeyboardType. -*/ -enum TKeyboard - { - EKeyboard_Keypad=1, /**< Keypad type*/ - EKeyboard_Full=2, /**< Full keyboard type*/ - }; - - - - -/** -@publishedPartner -@released - -Encapsulates information about the keyboard. - -NOTE that the information represented here is not used by Symbian OS, -and exists to maintain binary compatibilty with older versions. - -However, keyboard drivers that implement the HAL handler for -the EHalGroupKeyboard group still need to return a default object -of this type. -See the template port. - -An object of this type is passed, via a TPckgBuf, to the HAL handler -that deals with the HAL group function-id pair: -- EHalGroupKeyboard, EKeyboardHalKeyboardInfo; - -@see EKeyboardHalKeyboardInfo -@see TKeyboardHalFunction -@see EHalGroupKeyboard -@see TPckgBuf -*/ -class TKeyboardInfoV01 - { -public: - /** - The number of device keys. - - NOTE that the information represented by this variable is not - used by Symbian OS, and exists to maintain binary compatibility - with older versions. - */ - TInt iDeviceKeys; - - - /** - The number of application keys. - - NOTE that the information represented by this variable is not - used by Symbian OS, and exists to maintain binary compatibility - with older versions. - */ - TInt iAppsKeys; - - - /** - Defines the type of keyboard available as enumerated by - the TKeyboard enum. - - NOTE that the information represented by this variable is not - used by Symbian OS, and exists to maintain binary compatibility - with older versions. - - @see TKeyboard - */ - TKeyboard iKeyboardType; - }; - - - - -/** -@publishedPartner -@released - -Package buffer for a TKeyboardInfoV01 object. - -@see TKeyboardInfoV01 -*/ -typedef TPckgBuf TKeyboardInfoV01Buf; - - - - -/** -@publishedPartner -@released - -Encapsulates information about the digitiser. - -An object of this type is passed, via a TPckgBuf, to the HAL handler -that deals with the HAL group function-id pair: -- EHalGroupDigitiser, EDigitiserHalXYInfo; - -@see EDigitiserHalXYInfo -@see TDigitiserHalFunction -@see EHalGroupDigitiser -@see TPckgBuf -*/ -class TDigitiserInfoV01 - { -public: - TPoint iOffsetToDisplay;/**< The offset in pixels from the digitiser usable area to the display area. */ - TSize iDigitiserSize; /**< The width/height of the display in pixels as used by digitiser.*/ - }; - - -/** -@publishedPartner -@prototype - -Encapsulates extra information required by 3 dimensional pointing devices. -*/ -class TDigitiserInfoV02 : public TDigitiserInfoV01 - { - TInt iZRange; /**< The maximum distance to screen a pointing device will be detected (settable).*/ - TUint8 iThetaSupported; /**< A Boolean value that indicates if Theta polar angle detection (tilt) is supported.*/ - TUint8 iPhiSupported; /**< A Boolean value that indicates if Phi polar angle detection (tilt) is supported.*/ - TUint8 iAlphaSupported; /**< A Boolean value that indicates if rotation of the pointing device along its main axis is supported.*/ - TUint8 iPressureSupported; /**< A Boolean value that indicates if pressure applied on screen is supported.*/ - }; - - -/** -@publishedPartner -@released - -Package buffer for a TDigitiserInfoV01 object. - -@see TDigitiserInfoV01 -*/ -typedef TPckgBuf TDigitiserInfoV01Buf; - -/** -@publishedPartner -@prototype - -Package buffer for a TDigitiserInfoV02 object. - -@see TDigitiserInfoV02 -*/ -typedef TPckgBuf TDigitiserInfoV02Buf; - -/** -@publishedPartner -@released - -Encapsulates information about the mouse display characteristics. - -An object of this type is passed, via a TPckgBuf, to the HAL handler -that deals with the HAL group function-id pair: -- EHalGroupMouse, EMouseHalMouseInfo; - -@see EMouseHalMouseInfo -@see TMouseHalFunction -@see EHalGroupMouse -@see TPckgBuf -*/ -class TMouseInfoV01 - { -public: - TInt iMouseButtons; /**< The number of mouse buttons.*/ - TPoint iOffsetToDisplay; /**< The offset in pixels from the mouse usable area to the display area.*/ - TSize iMouseAreaSize; /**< The width/height of the display in pixels as used by the mouse. */ - }; - - - - -/** -@publishedPartner -@released - -Package buffer for a TMouseInfoV01 object. - -@see TMouseInfoV01 -*/ -typedef TPckgBuf TMouseInfoV01Buf; - - - -/** -@publishedPartner -@released - -Encapsulates Variant specific information. - -An object of this type is passed, via a TPckgBuf, to the HAL handler -that deals with the HAL group function-id pair: -- EHalGroupVariant, EVariantHalVariantInfo; - -@see EVariantHalVariantInfo -@see TVariantHalFunction -@see EHalGroupVariant -@see TPckgBuf -*/ -class TVariantInfoV01 - { -public: - /** - The ROM version. - */ - TVersion iRomVersion; - - /** - The Id that uniquely identifies the device. - */ - SInt64 iMachineUniqueId; - - /** - The bits that represent the LED capabilities. - - NB capabilities in this context does not mean security capabilities. - */ - TUint iLedCapabilities; - - /** - The processor clock speed. - */ - TInt iProcessorClockInKHz; - - /** - The speed factor. - */ - TInt iSpeedFactor; - }; - - - - -/** -@publishedPartner -@released - -Package buffer for a TVariantInfoV01 object. - -@see TVariantInfoV01 -*/ -typedef TPckgBuf TVariantInfoV01Buf; - - - - -/** -@publishedPartner -@deprecated Use HAL::Get() from the HAL library instead with attributes ESystemStartupReason. - -The reason that the device last reset - -Note that not all reasons can occur on all devices. -*/ -enum TMachineStartupType - { - EStartupCold,EStartupColdReset,EStartupNewOs, - EStartupPowerFail,EStartupWarmReset,EStartupKernelFault, - EStartupSafeReset - }; - - - - -/** -@publishedPartner -@deprecated Use HAL::Get() from the HAL library instead with attributes EPen or EMouse. - -The XY input method supported -*/ -enum TXYInputType - { - EXYInputNone, - EXYInputPointer, - EXYInputMouse, - EXYInputDeltaMouse - }; - - - -/** -@publishedPartner -@deprecated Use HAL::Get() from the HAL library instead. - -Miscellaneous machine info. -*/ -class TMachineInfoV1 - { -public: - TVersion iRomVersion; - TXYInputType iXYInputType; - TBool iKeyboardPresent; - TBool iBacklightPresent; - TSize iDisplaySizeInPixels; - TSize iXYInputSizeInPixels; - TSize iPhysicalScreenSize; - TPoint iOffsetToDisplayInPixels; - TInt iKeyboardId; - TInt iDisplayId; - SInt64 iMachineUniqueId; - TUint iLedCapabilities; - TInt iProcessorClockInKHz; - TInt iSpeedFactor; - TInt iMaximumDisplayColors; - }; -/** -@publishedPartner -@deprecated -*/ -typedef TPckgBuf TMachineInfoV1Buf; - - - - -/** -@publishedPartner -@deprecated Use HAL::Get() from the HAL library instead with attributes ELanguageIndex or EKeyboardIndex. - -Miscellaneous locale info. -*/ -class TMachineInfoV2 : public TMachineInfoV1 - { -public: - TInt iLanguageIndex; - TInt iKeyboardIndex; - }; -/** -@publishedPartner -@deprecated -*/ -typedef TPckgBuf TMachineInfoV2Buf; - - - - -/** -@publishedPartner -@deprecated Use HAL::Get() from the HAL library instead with attributes EMemoryRAM, EMemoryRAMFree or EMemoryROM. - -Miscellaneous memory info. -*/ -class TMemoryInfoV1 - { -public: - TInt iTotalRamInBytes; - TInt iTotalRomInBytes; - TInt iMaxFreeRamInBytes; - TInt iFreeRamInBytes; - TInt iInternalDiskRamInBytes; - TBool iRomIsReprogrammable; - }; -/** -@publishedPartner -@deprecated -*/ -typedef TPckgBuf TMemoryInfoV1Buf; - - - - -/** -@publishedPartner -@deprecated No replacement. - -Miscellaneous ROM info. -*/ -class TRomInfoEntryV1 - { -public: - enum TRomTypeV1 - { - ERomTypeRom=0, - ERomTypeFlash=1 - }; - TInt iSize; // size of ROM in bytes, 0=no ROM present - TInt iWidth; // bus width in bits - TInt iSpeed; // number of wait states - TRomTypeV1 iType; // 0=ROM, 1=FLASH - }; - - - - -/** -@publishedPartner -@deprecated No replacement. - -Miscellaneous ROM info. -*/ -class TRomInfoV1 - { -public: - TRomInfoEntryV1 iEntry[KMaxRomDevices]; - }; -/** -@publishedPartner -@deprecated -*/ -typedef TPckgBuf TRomInfoV1Buf; - -/** -@publishedPartner -@released -*/ -const TUint KRuggedFileSystem=0x01; - -/** -@publishedPartner -@released -*/ -class TDriveInfoV1 - { -public: - TInt iTotalSupportedDrives; - TInfoName iDriveName[KMaxLocalDrives]; - TInt iTotalSockets; - TInfoName iSocketName[KMaxPBusSockets]; - TInt iRuggedFileSystem; - TUint iRegisteredDriveBitmask; - }; -/** -@publishedPartner -@released -*/ -typedef TPckgBuf TDriveInfoV1Buf; - -#if defined(_UNICODE) && !defined(__KERNEL_MODE__) -/** -@publishedPartner -@released -*/ -class TDriveInfoV18 - { -public: - TInt iTotalSupportedDrives; - TBuf8 iDriveName[KMaxLocalDrives]; //TInfoName - TInt iTotalSockets; - TBuf8 iSocketName[KMaxPBusSockets]; //TInfoName - TInt iRuggedFileSystem; - TUint iRegisteredDriveBitmask; - }; -/** -@publishedPartner -@released -*/ -typedef TPckgBuf TDriveInfoV1Buf8; -#else -typedef TDriveInfoV1 TDriveInfoV18; -typedef TDriveInfoV1Buf TDriveInfoV1Buf8; -#endif - -/** -@publishedPartner -@released -*/ -class TExcInfo - { -public: - TAny *iCodeAddress; - TAny *iDataAddress; - TInt iExtraData; - }; - -#ifndef __KERNEL_MODE__ -#include - - - - -/** -@publishedPartner -@released - -A set of user side utility functions for acessing hardware related -information. - -Four of these functions are DEPRECATED and should NOT be used; some of -these functions have replacements, but others do not; see the description of -the individual functions. - -The following functions are not deprecated, but are only used by Symbian -OS as part of its internal implementation: -- UserHal::FaultReason() -- UserHal::ExceptionId() -- UserHal::ExceptionInfo() -- UserHal::PageSizeInBytes() -- UserHal::TickPeriod() -- UserHal::DriveInfo() -- UserHal::SwitchOff() -- UserHal::SetXYInputCalibration() -- UserHal::CalibrationPoints() -- UserHal::SaveXYInputCalibration() -- UserHal::RestoreXYInputCalibration() -*/ -class UserHal - { -public: - // kernel group - IMPORT_C static TInt MemoryInfo(TDes8& anInfo); - IMPORT_C static TInt RomInfo(TDes8& anInfo); - IMPORT_C static TInt StartupReason(TMachineStartupType& aReason); - IMPORT_C static TInt FaultReason(TInt &aReason); - IMPORT_C static TInt ExceptionId(TInt &anId); - IMPORT_C static TInt ExceptionInfo(TExcInfo &aInfo); - IMPORT_C static TInt PageSizeInBytes(TInt& aSize); - - // variant group - IMPORT_C static TInt MachineInfo(TDes8& anInfo); - IMPORT_C static TInt TickPeriod(TTimeIntervalMicroSeconds32& aPeriod); - - // media group - IMPORT_C static TInt DriveInfo(TDes8& anInfo); - - // power group - IMPORT_C static TInt SwitchOff(); - - // digitiser group - IMPORT_C static TInt SetXYInputCalibration(const TDigitizerCalibration& aCalibration); - IMPORT_C static TInt CalibrationPoints(TDigitizerCalibration& aCalibration); - IMPORT_C static TInt SaveXYInputCalibration(); - IMPORT_C static TInt RestoreXYInputCalibration(TDigitizerCalibrationType aType); - }; -#endif -#endif