epoc32/include/e32hal.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
--- 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 <e32cmn.h>
-
-/**
-@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<TKeyboardInfoV01> 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<TDigitiserInfoV01> TDigitiserInfoV01Buf;
-
-/**
-@publishedPartner
-@prototype
-
-Package buffer for a TDigitiserInfoV02 object.
-
-@see TDigitiserInfoV02
-*/ 
-typedef TPckgBuf<TDigitiserInfoV02> 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<TMouseInfoV01> 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<TVariantInfoV01> 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<TMachineInfoV1> 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<TMachineInfoV2> 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<TMemoryInfoV1> 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<TRomInfoV1> 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<TDriveInfoV1> TDriveInfoV1Buf;
-
-#if defined(_UNICODE) && !defined(__KERNEL_MODE__)
-/**
-@publishedPartner
-@released
-*/
-class TDriveInfoV18
-    {
-public:
-	TInt iTotalSupportedDrives;
-	TBuf8<KMaxInfoName> iDriveName[KMaxLocalDrives]; //TInfoName
-	TInt iTotalSockets;
-	TBuf8<KMaxInfoName> iSocketName[KMaxPBusSockets]; //TInfoName
-	TInt iRuggedFileSystem;
-	TUint iRegisteredDriveBitmask;
-	};
-/**
-@publishedPartner
-@released
-*/
-typedef TPckgBuf<TDriveInfoV18> TDriveInfoV1Buf8;
-#else
-typedef TDriveInfoV1 TDriveInfoV18;
-typedef TDriveInfoV1Buf TDriveInfoV1Buf8;
-#endif
-
-/**
-@publishedPartner
-@released
-*/
-class TExcInfo
-	{
-public:
-	TAny *iCodeAddress;
-	TAny *iDataAddress;
-	TInt iExtraData;
-	};
-
-#ifndef __KERNEL_MODE__
-#include <e32std.h>
-
-
-
-
-/**
-@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