epoc32/include/hal_data.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100 (2010-03-31)
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@4
     4
// under the terms of the License "Eclipse Public License v1.0"
williamr@2
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
// hal\inc\hal_data.h
williamr@2
    15
// 
williamr@2
    16
//
williamr@2
    17
williamr@4
    18
williamr@2
    19
#ifndef __HAL_DATA_H__
williamr@2
    20
#define __HAL_DATA_H__
williamr@2
    21
#define bitmask enum
williamr@2
    22
williamr@2
    23
class HALData
williamr@2
    24
/**
williamr@2
    25
@publishedPartner
williamr@2
    26
@released
williamr@2
    27
williamr@2
    28
Sets of attributes and values used by HAL functions.
williamr@2
    29
*/
williamr@2
    30
	{
williamr@2
    31
public:
williamr@2
    32
    /**
williamr@2
    33
    A set of enumerators that identifies hardware attributes.
williamr@2
    34
    The enumerators are passed to HAL::Get() and HAL::Set().
williamr@2
    35
    
williamr@2
    36
    They are also used by the HAL accessor functions.
williamr@2
    37
    
williamr@2
    38
    @see HAL::Get()
williamr@2
    39
    @see HAL::Set()
williamr@2
    40
    */
williamr@2
    41
	enum TAttribute
williamr@2
    42
		{
williamr@2
    43
		/**
williamr@2
    44
		Identifies the manufacturer of a device.
williamr@2
    45
        If this is not enumerated in TManufacturer, then the manufacturer must
williamr@2
    46
        obtain a value from the Symbian registry.
williamr@2
    47
        
williamr@2
    48
        @see HALData::TManufacturer
williamr@2
    49
		*/
williamr@2
    50
		EManufacturer,
williamr@2
    51
		
williamr@2
    52
		
williamr@2
    53
		/**
williamr@2
    54
		The device specific hardware version number, as defined by
williamr@2
    55
		the device manufacturer.
williamr@2
    56
		*/
williamr@2
    57
		EManufacturerHardwareRev,
williamr@2
    58
		
williamr@2
    59
		
williamr@2
    60
		/**
williamr@2
    61
		The device specific version number, as defined by
williamr@2
    62
		the device manufacturer.
williamr@2
    63
		*/
williamr@2
    64
		EManufacturerSoftwareRev,
williamr@2
    65
		
williamr@2
    66
		
williamr@2
    67
		/**
williamr@2
    68
		The device specific software version number, as defined by
williamr@2
    69
		the device manufacturer.
williamr@2
    70
		*/
williamr@2
    71
		EManufacturerSoftwareBuild,
williamr@2
    72
williamr@2
    73
		
williamr@2
    74
		/**
williamr@4
    75
		The device specific model number, as defined by
williamr@2
    76
		the device manufacturer.
williamr@2
    77
		*/
williamr@2
    78
		EModel,
williamr@2
    79
		
williamr@2
    80
				
williamr@2
    81
		/**
williamr@2
    82
		This is the device specific UID, It is unique to the class /model
williamr@2
    83
		of device. A value must be obtained from Symbian's UID registry for
williamr@2
    84
		this attribute.
williamr@2
    85
		*/
williamr@2
    86
		EMachineUid,
williamr@2
    87
		
williamr@2
    88
		
williamr@2
    89
		/**
williamr@2
    90
		The Symbian OS specified device family identifier.
williamr@2
    91
		If the device family is not one of those enumerated by TDeviceFamily,
williamr@2
    92
		then the licensee must obtain a UID from Symbian for this attribute.
williamr@2
    93
		
williamr@2
    94
		@see HALData::TDeviceFamily
williamr@2
    95
		*/
williamr@2
    96
		EDeviceFamily,
williamr@2
    97
williamr@2
    98
		
williamr@2
    99
		/**
williamr@4
   100
		The Symbian OS specified device family version.
williamr@2
   101
		*/
williamr@2
   102
		EDeviceFamilyRev,
williamr@2
   103
williamr@2
   104
		
williamr@2
   105
		/**
williamr@2
   106
		The CPU architecture used by this device. The values are enumerated
williamr@2
   107
		by TCPU.
williamr@2
   108
		
williamr@2
   109
		@see HALData::TCPU
williamr@2
   110
		*/
williamr@2
   111
		ECPU,
williamr@2
   112
		
williamr@2
   113
		
williamr@2
   114
		/**
williamr@2
   115
		A revision number for the CPU architecture.
williamr@2
   116
		*/
williamr@2
   117
		ECPUArch,
williamr@2
   118
williamr@2
   119
		
williamr@2
   120
		/**
williamr@2
   121
		This is the default ABI used by CPU for user applications.
williamr@2
   122
		The values are enumerated by HALData::TCPUABI.
williamr@2
   123
		*/
williamr@2
   124
		ECPUABI,
williamr@2
   125
williamr@2
   126
		
williamr@2
   127
		/**
williamr@2
   128
		The processor speed in KHz.
williamr@2
   129
		*/
williamr@2
   130
		ECPUSpeed,
williamr@2
   131
williamr@2
   132
		
williamr@2
   133
		/**
williamr@2
   134
		The reason for most recent system boot.
williamr@2
   135
        This is dynamic and readonly; the values are enumerated by
williamr@2
   136
        TSystemStartupReason.
williamr@2
   137
williamr@2
   138
		@see HALData::TSystemStartupReason
williamr@2
   139
		*/
williamr@2
   140
		ESystemStartupReason,
williamr@2
   141
williamr@2
   142
		
williamr@2
   143
		/**
williamr@2
   144
		This is the last exception code, in the case of system reboot.
williamr@2
   145
		This is dynamic and readonly.
williamr@2
   146
		*/
williamr@2
   147
		ESystemException,
williamr@2
   148
		
williamr@2
   149
		
williamr@2
   150
		/**
williamr@2
   151
		The time between system ticks, in microseconds.
williamr@2
   152
		*/
williamr@2
   153
		ESystemTickPeriod,
williamr@2
   154
		
williamr@2
   155
		
williamr@2
   156
		/** 
williamr@2
   157
		The total system RAM, in bytes.
williamr@2
   158
		*/
williamr@2
   159
		EMemoryRAM,
williamr@2
   160
		
williamr@2
   161
		
williamr@2
   162
		/**
williamr@2
   163
		The currently free system RAM.
williamr@2
   164
		
williamr@2
   165
		This is dynamic and readonly.
williamr@2
   166
		*/
williamr@2
   167
		EMemoryRAMFree,
williamr@2
   168
williamr@2
   169
		
williamr@2
   170
		/**
williamr@2
   171
		The total System ROM, in bytes.
williamr@2
   172
		*/
williamr@2
   173
		EMemoryROM,
williamr@2
   174
	
williamr@2
   175
		
williamr@2
   176
		/**
williamr@2
   177
		The MMU page size in bytes.
williamr@2
   178
		*/
williamr@2
   179
		EMemoryPageSize,
williamr@2
   180
	
williamr@2
   181
		
williamr@2
   182
		/**
williamr@2
   183
		Indicates the state of the power supply.
williamr@2
   184
        
williamr@2
   185
        It has the values:
williamr@2
   186
        1 = Power is good (i.e. external power is available,
williamr@2
   187
        or the 'power' battery is >= low);
williamr@2
   188
        0 = otherwise.
williamr@2
   189
        
williamr@2
   190
        This is dynamic and readonly.
williamr@2
   191
		*/
williamr@2
   192
		EPowerGood,
williamr@2
   193
	
williamr@2
   194
		
williamr@2
   195
		/**
williamr@2
   196
        The System (or 'Main') battery power level.
williamr@2
   197
        The allowable values are enumerated by TPowerBatteryStatus
williamr@2
   198
williamr@2
   199
		This is dynamic and readonly,
williamr@2
   200
		
williamr@2
   201
		@see HALData::TPowerBatteryStatus
williamr@2
   202
		*/
williamr@2
   203
		EPowerBatteryStatus,
williamr@2
   204
	
williamr@2
   205
		
williamr@2
   206
		/**
williamr@2
   207
		Indicates whether a backup power supply is available.
williamr@2
   208
        It has the values:
williamr@2
   209
        0 = the device does not support (or need) a backup battery source;
williamr@2
   210
        1 = a backup batter source is present.
williamr@2
   211
		This is dynamic and readonly
williamr@2
   212
		*/
williamr@2
   213
		EPowerBackup,
williamr@2
   214
	
williamr@2
   215
		
williamr@2
   216
		/**
williamr@4
   217
        The power level for backup power.
williamr@2
   218
        
williamr@2
   219
        It has the values enumerated by TPowerBackupStatus.
williamr@2
   220
williamr@2
   221
		This is dynamic and readonly.
williamr@2
   222
		
williamr@2
   223
		@see HALData::TPowerBackupStatus
williamr@2
   224
		*/
williamr@2
   225
		EPowerBackupStatus,
williamr@2
   226
	
williamr@2
   227
		
williamr@2
   228
		/**
williamr@2
   229
		Indicates the state of the external power.
williamr@2
   230
williamr@2
   231
		It has the values:
williamr@2
   232
		0 = external power is not in use;
williamr@2
   233
		1 = external power is in use.
williamr@2
   234
		        
williamr@2
   235
        This is dynamic and readonly.
williamr@2
   236
		*/
williamr@2
   237
		EPowerExternal,
williamr@2
   238
	
williamr@2
   239
		
williamr@2
   240
		/**
williamr@2
   241
		A bitmask that describes the available keyboard types (it may support
williamr@2
   242
		more than one).
williamr@2
   243
williamr@2
   244
        @see HALData::TKeyboard
williamr@2
   245
		*/
williamr@2
   246
		EKeyboard,
williamr@2
   247
	
williamr@2
   248
		
williamr@2
   249
		/**
williamr@2
   250
		*/
williamr@2
   251
		EKeyboardDeviceKeys,
williamr@2
   252
	
williamr@2
   253
		
williamr@2
   254
		/**
williamr@2
   255
		*/
williamr@2
   256
		EKeyboardAppKeys,
williamr@2
   257
	
williamr@2
   258
		
williamr@2
   259
		/**
williamr@2
   260
		Indicates whether the device can produce a click sound for
williamr@2
   261
		each keypress.
williamr@2
   262
		
williamr@2
   263
		It has the values:
williamr@2
   264
		0 = the device cannot produce a click sound for each keypress;
williamr@2
   265
		1 = the device can produce a click sound.
williamr@2
   266
		*/
williamr@2
   267
		EKeyboardClick,
williamr@2
   268
	
williamr@2
   269
		
williamr@2
   270
		/**
williamr@2
   271
		The state of keyboard clicking.
williamr@2
   272
williamr@2
   273
        It has the values:
williamr@2
   274
        0 = key click disabled;
williamr@2
   275
        1 = key click enabled.
williamr@2
   276
        
williamr@2
   277
		This is dynamic and writeable.
williamr@2
   278
williamr@2
   279
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   280
		*/
williamr@2
   281
		EKeyboardClickState,
williamr@2
   282
	
williamr@2
   283
		
williamr@2
   284
		/**
williamr@2
   285
		The keyboard click volume level.
williamr@2
   286
williamr@4
   287
		It can take a value in the range 0 to EKeyboardClickVolumeMax.
williamr@2
   288
        
williamr@2
   289
        This is dynamic and writeable.
williamr@2
   290
        
williamr@4
   291
        @see HALData::EKeyboardClickVolumeMax
williamr@2
   292
williamr@2
   293
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   294
		*/
williamr@2
   295
		EKeyboardClickVolume,
williamr@2
   296
	
williamr@2
   297
		
williamr@2
   298
		/**
williamr@2
   299
		The maximum value for EKeyboardClickVolume.
williamr@2
   300
		
williamr@4
   301
		@see HALData::EKeyboardClickVolume
williamr@2
   302
		*/
williamr@2
   303
		EKeyboardClickVolumeMax,
williamr@2
   304
	
williamr@2
   305
		
williamr@2
   306
		/**
williamr@2
   307
		The screen horizontal dimension in pixels.
williamr@2
   308
		*/
williamr@2
   309
		EDisplayXPixels,
williamr@2
   310
	
williamr@2
   311
		
williamr@2
   312
		/**
williamr@2
   313
		The screen vertical dimension in pixels.
williamr@2
   314
		*/
williamr@2
   315
		EDisplayYPixels,
williamr@2
   316
	
williamr@2
   317
		
williamr@2
   318
		/**
williamr@2
   319
		The screen horizontal dimension in twips.
williamr@2
   320
		*/
williamr@2
   321
		EDisplayXTwips,
williamr@2
   322
	
williamr@2
   323
		
williamr@2
   324
		/**
williamr@2
   325
		The screen vertical dimension in twips.
williamr@2
   326
		*/
williamr@2
   327
		EDisplayYTwips,
williamr@2
   328
	
williamr@2
   329
		
williamr@2
   330
		/**
williamr@2
   331
		The number of hues (colors or shades of grey) displayable on
williamr@2
   332
		the screen.
williamr@2
   333
		*/
williamr@2
   334
		EDisplayColors,
williamr@2
   335
	
williamr@2
   336
		
williamr@2
   337
		/**
williamr@2
   338
		The state of the display.
williamr@2
   339
		
williamr@2
   340
		It has the values:
williamr@2
   341
		0 = screen is turned off;
williamr@2
   342
		1 = screen is on.
williamr@2
   343
		
williamr@2
   344
		This is dynamic and writeable.
williamr@2
   345
williamr@2
   346
		@capability PowerMgmt needed to Set this attribute
williamr@2
   347
		*/
williamr@2
   348
		EDisplayState,
williamr@2
   349
	
williamr@2
   350
		
williamr@2
   351
		/**
williamr@2
   352
		The screen contrast level.
williamr@2
   353
   		It can take a value in the range 0 to EDisplayContrastMax.
williamr@2
   354
        
williamr@2
   355
        This is dynamic and writeable
williamr@2
   356
williamr@2
   357
		@see HALData::EDisplayContrastMax
williamr@2
   358
williamr@2
   359
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   360
		*/
williamr@2
   361
		EDisplayContrast,
williamr@2
   362
	
williamr@2
   363
		
williamr@2
   364
		/**
williamr@2
   365
		The maximum value for EDisplayContrast
williamr@2
   366
		
williamr@2
   367
		@see HALData::EDisplayContrast
williamr@2
   368
		*/
williamr@2
   369
		EDisplayContrastMax,
williamr@2
   370
		
williamr@2
   371
		
williamr@2
   372
		/**
williamr@2
   373
		Indicates whether there is a backlight on the device.
williamr@2
   374
williamr@2
   375
		It has the values:
williamr@2
   376
		0 = there is no screen backlight;
williamr@2
   377
		1 = a screen backlight is present.
williamr@2
   378
		*/
williamr@2
   379
		EBacklight,
williamr@2
   380
			
williamr@2
   381
		
williamr@2
   382
		/**
williamr@2
   383
		The current status of the backlight.
williamr@2
   384
williamr@2
   385
		It has the values:
williamr@2
   386
		0 = off;
williamr@2
   387
		1 = on.
williamr@2
   388
        
williamr@2
   389
        This is dynamic and writeable.
williamr@2
   390
williamr@2
   391
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   392
		*/
williamr@2
   393
		EBacklightState,
williamr@2
   394
			
williamr@2
   395
		
williamr@2
   396
		/**
williamr@2
   397
		Indicates whether a pen or digitizer is available for input.
williamr@2
   398
williamr@2
   399
		It has the values:
williamr@2
   400
		0 = a pen/digitizer is not available for input;
williamr@2
   401
		1 = a pen/digitizeris present.
williamr@2
   402
		*/
williamr@2
   403
		EPen,
williamr@2
   404
			
williamr@2
   405
		
williamr@2
   406
		/**
williamr@2
   407
		The pen/digitizer horizontal resolution, in pixels.
williamr@2
   408
		*/
williamr@2
   409
		EPenX,
williamr@2
   410
			
williamr@2
   411
		
williamr@2
   412
		/**
williamr@4
   413
		The pen/digitizer vertical resolution, in pixels.
williamr@2
   414
		*/
williamr@2
   415
		EPenY,
williamr@2
   416
			
williamr@2
   417
		
williamr@2
   418
		/**
williamr@2
   419
		Indicates whether a pen tap will turn the display on.
williamr@2
   420
williamr@2
   421
        It has the values:
williamr@2
   422
        0 = a pen tap has no effect;
williamr@2
   423
        1 = a pent tap or press enables the display.
williamr@2
   424
        
williamr@4
   425
        This is dynamic and writeable.
williamr@2
   426
williamr@2
   427
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   428
		*/
williamr@2
   429
		EPenDisplayOn,
williamr@2
   430
			
williamr@2
   431
		
williamr@2
   432
		/**
williamr@2
   433
		Indicates whether the device can produce a click sound for
williamr@2
   434
		each pen tap.
williamr@2
   435
williamr@2
   436
		It has the values:
williamr@2
   437
        0 = the device cannot produce a click sound
williamr@2
   438
        1 = production of a click sound is supported by the device.
williamr@2
   439
		*/
williamr@2
   440
		EPenClick,
williamr@2
   441
			
williamr@2
   442
		
williamr@2
   443
		/**
williamr@2
   444
		The state of pen clicking.
williamr@2
   445
		
williamr@2
   446
		It has the values:
williamr@2
   447
		0 = pen clicking is disabled;
williamr@2
   448
		1 = pen clicking is enabled.
williamr@2
   449
		
williamr@2
   450
        This is dynamic and writable.
williamr@2
   451
williamr@2
   452
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   453
		*/
williamr@2
   454
		EPenClickState,
williamr@2
   455
			
williamr@2
   456
		
williamr@2
   457
		/**
williamr@4
   458
		The pen click volume level.
williamr@2
   459
        It can take a value in the range 0 to EPenClickVolumeMax.
williamr@2
   460
        
williamr@2
   461
        This value is dynamic and writable.
williamr@2
   462
        
williamr@2
   463
        @see HALData::EPenClickVolumeMax
williamr@2
   464
williamr@2
   465
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   466
		*/
williamr@2
   467
		EPenClickVolume,
williamr@2
   468
			
williamr@2
   469
		
williamr@2
   470
		/**
williamr@2
   471
		The maximum value for EPenClickVolume.
williamr@2
   472
		
williamr@2
   473
		@see HALData::EPenClickVolume
williamr@2
   474
		*/
williamr@2
   475
		EPenClickVolumeMax,
williamr@2
   476
			
williamr@2
   477
		
williamr@2
   478
		/**
williamr@2
   479
		Indicates whether a mouse is available for input.
williamr@2
   480
		
williamr@2
   481
		It has the values:
williamr@4
   482
		0 = there is no mouse available pen/digitizer is present;
williamr@2
   483
		1 = a mouse is available for input.
williamr@2
   484
		*/
williamr@2
   485
		EMouse,
williamr@2
   486
			
williamr@2
   487
		
williamr@2
   488
		/**
williamr@2
   489
		The mouse horizontal resolution, in pixels.
williamr@2
   490
		*/
williamr@2
   491
		EMouseX,
williamr@2
   492
			
williamr@2
   493
		
williamr@2
   494
		/**
williamr@2
   495
		The mouse vertical resolution, in pixels.
williamr@2
   496
		*/
williamr@2
   497
		EMouseY,
williamr@2
   498
			
williamr@2
   499
		
williamr@2
   500
		/**
williamr@2
   501
		Describes the mouse cursor visibility.
williamr@2
   502
williamr@2
   503
        The value is enumerated by TMouseState.
williamr@2
   504
        
williamr@2
   505
		This is dynamic and writable.
williamr@2
   506
		@see HALData::TMouseState
williamr@2
   507
		
williamr@2
   508
		@capability MultimediaDD needed to Set this attribute
williamr@2
   509
		*/
williamr@2
   510
		EMouseState,
williamr@2
   511
			
williamr@2
   512
		
williamr@2
   513
		/**
williamr@2
   514
        Reserved for future use.
williamr@2
   515
		@capability MultimediaDD needed to Set this attribute
williamr@2
   516
		*/
williamr@2
   517
		EMouseSpeed,
williamr@2
   518
		
williamr@2
   519
		
williamr@2
   520
		/**
williamr@2
   521
		Reserved for future use.
williamr@2
   522
		@capability MultimediaDD needed to Set this attribute
williamr@2
   523
		*/
williamr@2
   524
		EMouseAcceleration,
williamr@2
   525
		
williamr@2
   526
		
williamr@2
   527
		/**
williamr@2
   528
		The number of buttons on the mouse.
williamr@2
   529
		*/
williamr@2
   530
		EMouseButtons,
williamr@2
   531
		
williamr@2
   532
		
williamr@2
   533
		/**
williamr@4
   534
        A bitmask defining the state of each button.
williamr@2
   535
williamr@2
   536
        For each bit, it has values:
williamr@2
   537
        0 = up;
williamr@2
   538
        1 = down.
williamr@2
   539
        
williamr@2
   540
		This is dynamic and read only.
williamr@2
   541
		*/
williamr@2
   542
		EMouseButtonState,
williamr@2
   543
		
williamr@2
   544
		
williamr@2
   545
		/**
williamr@2
   546
		Defines the state of the case.
williamr@2
   547
		
williamr@2
   548
        It has the values:
williamr@2
   549
        0 = case closed;
williamr@2
   550
        1 = case opened.
williamr@2
   551
        
williamr@2
   552
        This is dynamic and read only.
williamr@2
   553
		*/
williamr@2
   554
		ECaseState,
williamr@2
   555
		
williamr@2
   556
		
williamr@2
   557
		/**
williamr@2
   558
		Indicates whether the device has a case switch, that actions when
williamr@2
   559
		the case opens and closes.
williamr@2
   560
		
williamr@2
   561
        It has values:
williamr@2
   562
        0 = no;
williamr@2
   563
        1 = yes.
williamr@2
   564
		*/
williamr@2
   565
		ECaseSwitch,
williamr@2
   566
		
williamr@2
   567
		
williamr@2
   568
		/**
williamr@2
   569
		Indicates whether the device is to switch on when case opens.
williamr@2
   570
		
williamr@2
   571
		It has the values:
williamr@2
   572
		0 = disable device switchon when the case opens;
williamr@2
   573
		1 = enable device  switchon when the case opens.
williamr@2
   574
        
williamr@2
   575
        This is dynamic and writeable.
williamr@2
   576
williamr@2
   577
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   578
		*/
williamr@2
   579
		ECaseSwitchDisplayOn,
williamr@2
   580
		
williamr@2
   581
		
williamr@2
   582
		/**
williamr@2
   583
        Indicates whether the device is to switch off when case close.
williamr@2
   584
williamr@2
   585
		It has the values:
williamr@2
   586
		0 = disable device switchoff when the case closes;
williamr@2
   587
		1 = enable device switchoff when the case closes.
williamr@2
   588
        
williamr@2
   589
        This is dynamic and writeable.
williamr@2
   590
williamr@2
   591
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   592
		*/
williamr@2
   593
		ECaseSwitchDisplayOff,
williamr@2
   594
		
williamr@2
   595
		
williamr@2
   596
		/**
williamr@2
   597
		The number of LEDs on the device.
williamr@2
   598
		*/
williamr@2
   599
		ELEDs,
williamr@2
   600
		
williamr@2
   601
		
williamr@2
   602
		/**
williamr@2
   603
        A bitmask defining the state of each LED.
williamr@2
   604
williamr@2
   605
        For each bit, it has values:
williamr@2
   606
        0 = off;
williamr@2
   607
        1 = on.
williamr@2
   608
		
williamr@2
   609
		This is dynamic and writeable.
williamr@2
   610
		*/
williamr@2
   611
		ELEDmask,
williamr@2
   612
		
williamr@2
   613
		
williamr@2
   614
		/**
williamr@2
   615
		Indicates how the phone hardware is connected.
williamr@2
   616
		
williamr@2
   617
		It has the values:
williamr@2
   618
		0 = phone hardware is not permanently connected;
williamr@2
   619
		1 = phone hardware is permanently connected.
williamr@2
   620
		*/
williamr@2
   621
		EIntegratedPhone,
williamr@2
   622
		
williamr@2
   623
		
williamr@2
   624
		/**
williamr@2
   625
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   626
		*/
williamr@2
   627
		EDisplayBrightness,
williamr@2
   628
	
williamr@2
   629
		
williamr@2
   630
		/**
williamr@2
   631
		*/
williamr@2
   632
		EDisplayBrightnessMax,
williamr@2
   633
	
williamr@2
   634
		
williamr@2
   635
		/**
williamr@4
   636
		Indicates the state of the keyboard backlight.
williamr@2
   637
        
williamr@2
   638
        It has the values:
williamr@2
   639
        0 = keyboard backlight is off;
williamr@2
   640
        1 = keyboard backlight is on.
williamr@2
   641
williamr@2
   642
		This is dynamic and writeable.
williamr@2
   643
williamr@2
   644
		@capability PowerMgmt needed to Set this attribute
williamr@2
   645
		*/
williamr@2
   646
		EKeyboardBacklightState,
williamr@2
   647
	
williamr@2
   648
		
williamr@2
   649
		/**
williamr@2
   650
		Power supply to an accessory port.
williamr@2
   651
williamr@2
   652
        It has the values:
williamr@2
   653
        0 = turn off power to an accessory port on the device;
williamr@2
   654
        1 = turn on power.
williamr@2
   655
        
williamr@2
   656
        This is dynamic and writeable.
williamr@2
   657
williamr@2
   658
		@capability PowerMgmt needed to Set this attribute
williamr@2
   659
		*/
williamr@2
   660
		EAccessoryPower,
williamr@2
   661
	
williamr@2
   662
		
williamr@2
   663
		/**
williamr@2
   664
		A 2 decimal digit language index. 
williamr@2
   665
		
williamr@2
   666
		It is used as the two digit language number that is the suffix of
williamr@2
   667
		language resource DLLs, e.g ELOCL.01.
williamr@2
   668
williamr@2
   669
		The locale with this language index is loaded the next time that
williamr@2
   670
		the device boots.
williamr@2
   671
williamr@2
   672
        This is dynamic and writeable.
williamr@2
   673
williamr@2
   674
		@see TLanguage
williamr@2
   675
williamr@2
   676
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   677
		*/
williamr@2
   678
		ELanguageIndex,
williamr@2
   679
	
williamr@2
   680
		
williamr@2
   681
		/**
williamr@2
   682
		A 2 decimal digit (decimal) language keyboard index.
williamr@2
   683
		It is used as the two digit language number that is the suffix of
williamr@2
   684
		language resource DLLs, e.g. EKDATA.01.
williamr@2
   685
		
williamr@2
   686
		@see TLanguage
williamr@2
   687
williamr@2
   688
		@capability WriteDeviceData needed to Set this attribute
williamr@2
   689
		*/
williamr@2
   690
		EKeyboardIndex,
williamr@2
   691
	
williamr@2
   692
		
williamr@2
   693
		/**
williamr@2
   694
		The maximum allowable size of RAM drive, in bytes.
williamr@2
   695
		*/
williamr@2
   696
		EMaxRAMDriveSize,
williamr@2
   697
	
williamr@2
   698
		
williamr@2
   699
		/**
williamr@2
   700
		Indicates the state of the keyboard.
williamr@2
   701
		
williamr@2
   702
		It has the values:
williamr@2
   703
		0 = keyboard is disabled;
williamr@2
   704
		1 = Keyboard is enabled.
williamr@2
   705
        
williamr@2
   706
        This is dynamic and writeable.
williamr@2
   707
williamr@2
   708
		@capability PowerMgmt needed to Set this attribute
williamr@2
   709
		*/
williamr@2
   710
		EKeyboardState,
williamr@2
   711
	
williamr@2
   712
		/**
williamr@2
   713
  		Defines the system drive & custom resource drive. 
williamr@2
   714
        Legacy attribute which is no longer supported.
williamr@2
   715
  
williamr@2
   716
  		@deprecated Attribute is no longer the primary mechanism to define the 
williamr@2
   717
  		System Drive or the Custom Resource Drive.
williamr@2
   718
        @see RFs::GetSystemDrive.
williamr@2
   719
        @see BaflUtils::NearestLanguageFile
williamr@2
   720
        @see HALData::ECustomResourceDrive
williamr@2
   721
  		*/
williamr@2
   722
		ESystemDrive,	
williamr@2
   723
		
williamr@2
   724
		/**
williamr@2
   725
		Indicates the state of the pen or digitiser.
williamr@2
   726
williamr@2
   727
		It has the values:
williamr@2
   728
		1 = pen/digitiser is enabled;
williamr@2
   729
		0 = pen/digitiser is disabled.
williamr@2
   730
		
williamr@2
   731
        This is dynamic and writeable.
williamr@2
   732
williamr@2
   733
		@capability PowerMgmt needed to Set this attribute
williamr@2
   734
		*/
williamr@2
   735
		EPenState,
williamr@2
   736
	
williamr@2
   737
		
williamr@2
   738
		/**
williamr@2
   739
		On input: aInOut contains the mode number.
williamr@2
   740
        On output: aInOut contains: 0 = display is colour;
williamr@2
   741
                                    1 = display is black & white.
williamr@2
   742
        
williamr@2
   743
        aInOut is the 3rd parameter passed to accessor functions
williamr@2
   744
        for derived attributes.
williamr@2
   745
		*/
williamr@2
   746
		EDisplayIsMono,
williamr@2
   747
	
williamr@2
   748
		
williamr@2
   749
		/**
williamr@2
   750
		On input: aInOut contains the mode number;
williamr@2
   751
        On output, aInOut contains: 0 = display is not palettised;
williamr@2
   752
                                    1 = display is palettised.
williamr@2
   753
        
williamr@2
   754
        aInOut is the 3rd parameter passed to accessor functions
williamr@2
   755
        for derived attributes.
williamr@2
   756
  		*/
williamr@2
   757
		EDisplayIsPalettized,
williamr@2
   758
	
williamr@2
   759
		
williamr@2
   760
		/**
williamr@2
   761
		The display bits per pixel.
williamr@2
   762
		
williamr@2
   763
        On input, aInOut contains the mode number.
williamr@2
   764
        On output, aInOut contains the bits per pixel for that mode.
williamr@2
   765
williamr@2
   766
        aInOut is the 3rd parameter passed to accessor functions
williamr@2
   767
        for derived attributes.
williamr@2
   768
        
williamr@2
   769
        It is read only data.
williamr@2
   770
		*/
williamr@2
   771
		EDisplayBitsPerPixel,
williamr@2
   772
	
williamr@2
   773
		
williamr@2
   774
		/**
williamr@2
   775
		The number of display modes available.
williamr@2
   776
		*/
williamr@2
   777
		EDisplayNumModes,
williamr@2
   778
	
williamr@2
   779
		
williamr@2
   780
		/**
williamr@2
   781
		The address of the display memory.
williamr@2
   782
		*/
williamr@2
   783
		EDisplayMemoryAddress,
williamr@2
   784
	
williamr@2
   785
		
williamr@2
   786
		/**
williamr@2
   787
		The offset, in bytes, to the pixel area of the screen from the start of screen memory.
williamr@2
   788
		
williamr@2
   789
		This is used to account for the fact that the palette is sometimes at
williamr@2
   790
		the beginning of the display memory.
williamr@2
   791
		
williamr@2
   792
        On input, aInOut contains the mode number.
williamr@2
   793
        On output, aInOut contains the offset to the first pixel for that mode.
williamr@2
   794
williamr@2
   795
        aInOut is the 3rd parameter passed to accessor functions
williamr@2
   796
        for derived attributes.
williamr@2
   797
		*/
williamr@2
   798
		EDisplayOffsetToFirstPixel,
williamr@2
   799
	
williamr@2
   800
		
williamr@2
   801
		/**
williamr@2
   802
		The separation, in bytes, of successive lines of display in memory.
williamr@2
   803
        
williamr@2
   804
        On input, aInOut contains the mode number.
williamr@2
   805
        On output, aInOut contains the display offset between lines.
williamr@2
   806
williamr@2
   807
        aInOut is the 3rd parameter passed to accessor functions
williamr@2
   808
        for derived attributes.
williamr@2
   809
		*/
williamr@2
   810
		EDisplayOffsetBetweenLines,
williamr@2
   811
	
williamr@2
   812
		
williamr@2
   813
		/**
williamr@2
   814
		@capability MultimediaDD needed to Set this attribute
williamr@2
   815
		*/
williamr@2
   816
		EDisplayPaletteEntry,
williamr@2
   817
	
williamr@2
   818
		
williamr@2
   819
		/**
williamr@2
   820
		It has the values:
williamr@2
   821
		1 = order of pixels in display is RGB;
williamr@2
   822
		0 = otherwise.
williamr@2
   823
		*/
williamr@2
   824
		EDisplayIsPixelOrderRGB,
williamr@2
   825
	
williamr@2
   826
		
williamr@2
   827
		/**
williamr@2
   828
		It has the values:
williamr@2
   829
		1 = pixel order is landscape;
williamr@2
   830
		0 = pixel order is portrait.
williamr@2
   831
		*/
williamr@2
   832
		EDisplayIsPixelOrderLandscape,
williamr@2
   833
	
williamr@2
   834
		
williamr@2
   835
		/**
williamr@2
   836
		This indicates or sets the current display mode where
williamr@2
   837
		EDisplayNumModes-1 is the maximum value for the display mode.
williamr@2
   838
		The properties of a particular display mode are entirely defined by
williamr@2
   839
		the base port software associated with the hardware upon which the OS
williamr@2
   840
		is running.
williamr@2
   841
williamr@2
   842
		@capability MultimediaDD needed to Set this attribute
williamr@2
   843
		*/
williamr@2
   844
		EDisplayMode,
williamr@2
   845
	
williamr@2
   846
		
williamr@2
   847
		/**
williamr@2
   848
		If the target hardware upon which Symbian OS is running has switches
williamr@2
   849
		which can be read by the base port software, this interface allows
williamr@2
   850
		the current status of those switches to be read. 
williamr@2
   851
		*/
williamr@2
   852
		ESwitches,
williamr@2
   853
	
williamr@2
   854
		
williamr@2
   855
		/**
williamr@2
   856
		The port number of the debug port.
williamr@2
   857
		*/
williamr@2
   858
		EDebugPort,
williamr@2
   859
	
williamr@2
   860
		
williamr@2
   861
		/**
williamr@2
   862
		The language code of the Locale which was loaded at device boot time.
williamr@2
   863
williamr@2
   864
        This is dynamic and writeable.
williamr@2
   865
williamr@2
   866
		@see ELanguageIndex
williamr@2
   867
williamr@2
   868
		@capability WriteSystemData needed to Set this attribute
williamr@2
   869
		*/
williamr@2
   870
		ELocaleLoaded,
williamr@2
   871
	
williamr@2
   872
		
williamr@2
   873
		/**
williamr@2
   874
		The drive number to use for storage of Clipboard data.
williamr@2
   875
		0 = Drive A, 1 = Drive B, etc...
williamr@2
   876
		*/
williamr@2
   877
		EClipboardDrive,
williamr@2
   878
	
williamr@2
   879
		/**
williamr@2
   880
		Custom restart
williamr@2
   881
		@capability PowerMgmt
williamr@2
   882
		*/
williamr@2
   883
		ECustomRestart,
williamr@2
   884
williamr@2
   885
		/**
williamr@2
   886
		Custom restart reason
williamr@2
   887
		*/
williamr@2
   888
		ECustomRestartReason,
williamr@2
   889
williamr@2
   890
		/**
williamr@2
   891
		The number of screens.
williamr@2
   892
		*/
williamr@2
   893
		EDisplayNumberOfScreens,
williamr@2
   894
williamr@2
   895
		/**
williamr@2
   896
		The time between nanokernel ticks, in microseconds.
williamr@2
   897
		*/
williamr@2
   898
		ENanoTickPeriod,
williamr@2
   899
williamr@2
   900
		/**
williamr@2
   901
		The frequency of the fast counter.
williamr@2
   902
		*/
williamr@2
   903
		EFastCounterFrequency,
williamr@2
   904
williamr@2
   905
		/**
williamr@2
   906
		Indicates the whether the fast counter counts up or down.
williamr@2
   907
		*/
williamr@2
   908
		EFastCounterCountsUp,
williamr@2
   909
williamr@4
   910
		/**		
williamr@4
   911
		Indicates whether a 3 dimensional pointing device is available for input and Z coordinate
williamr@4
   912
		is provided in appropriate pointer-related TRawEvents generated by the driver.
williamr@2
   913
williamr@2
   914
		It has the values:
williamr@4
   915
		0 = a 3D pointer is not available for input and Z coordinate is not provided in TRawEvents;
williamr@4
   916
		1 = a 3D pointer is present and Z coordinate is provided in TRawEvents.
williamr@2
   917
		*/
williamr@2
   918
		EPointer3D,
williamr@2
   919
williamr@4
   920
		/**		
williamr@4
   921
		The furthest detectable 3D pointing device's proximity above the screen.
williamr@4
   922
		As proximity values above the screen are negative, this will be a negative value.
williamr@2
   923
williamr@2
   924
		This is dynamic and writeable.
williamr@2
   925
		*/
williamr@4
   926
		EPointer3DMaxProximity,
williamr@2
   927
williamr@4
   928
		/**		
williamr@2
   929
		Indicates whether a 3 dimensional pointing device supports Theta polar angle reading.
williamr@2
   930
williamr@2
   931
		It has the values:
williamr@2
   932
		0 = a 3D pointer does not support Theta polar angle reading;
williamr@2
   933
		1 = a 3D pointer supports Theta polar angle reading.
williamr@2
   934
		*/
williamr@2
   935
		EPointer3DThetaSupported,
williamr@2
   936
williamr@2
   937
		/**
williamr@2
   938
		Indicates whether a 3 dimensional pointing device supports Phi polar angle reading.
williamr@2
   939
williamr@2
   940
		It has the values:
williamr@2
   941
		0 = a 3D pointer does not support Phi polar angle reading;
williamr@2
   942
		1 = a 3D pointer supports Phi polar angle reading.
williamr@2
   943
		*/
williamr@2
   944
		EPointer3DPhiSupported,
williamr@2
   945
williamr@2
   946
		/**
williamr@2
   947
		Indicates whether a 3 dimensional pointing device supports rotation angle along its main axis reading.
williamr@2
   948
williamr@2
   949
		It has the values:
williamr@2
   950
		0 = a 3D pointer does not support alpha (rotation) reading;
williamr@2
   951
		1 = a 3D pointer supports alpha (rotation) reading.
williamr@2
   952
		*/
williamr@2
   953
		EPointer3DRotationSupported,
williamr@2
   954
williamr@2
   955
		/**
williamr@2
   956
		Indicates whether a 3 dimensional pointing device supports readings of pressure applied on screen.
williamr@2
   957
williamr@2
   958
		It has the values:
williamr@2
   959
		0 = a 3D pointer does not support pressure reading;
williamr@2
   960
		1 = a 3D pointer supports pressure reading.
williamr@2
   961
		*/
williamr@2
   962
		EPointer3DPressureSupported,
williamr@2
   963
williamr@2
   964
		/**
williamr@2
   965
		Indicates whether hardware floating point is available, and what type.
williamr@2
   966
		
williamr@2
   967
		If no hardware floating point is available, reading this attribute will return KErrNotSupported.
williamr@2
   968
		If hardware floating point is available, reading this attribute will return KErrNone and the type
williamr@2
   969
		available. These types are specified in TFloatingPointType.
williamr@2
   970
		*/
williamr@2
   971
		EHardwareFloatingPoint,
williamr@2
   972
williamr@2
   973
		/**
williamr@2
   974
		The offset between secure and nonsecure clocks. If this attribute is undefined no secure clock
williamr@2
   975
		will be available.
williamr@2
   976
		*/
williamr@2
   977
		ETimeNonSecureOffset,
williamr@2
   978
williamr@2
   979
		/**
williamr@2
   980
		Persist startup mode.
williamr@2
   981
williamr@2
   982
		If no variant specific implementation exists, the startup mode will be stored in platform
williamr@2
   983
		specific values.hda file.
williamr@2
   984
		*/
williamr@2
   985
		EPersistStartupModeKernel,
williamr@2
   986
williamr@2
   987
		/**
williamr@2
   988
		Maximum restart reasons.
williamr@2
   989
williamr@2
   990
		Returns the maximum number of values that can be used to store the restart reason required for a custom restart.
williamr@2
   991
		*/
williamr@2
   992
		EMaximumCustomRestartReasons,
williamr@2
   993
williamr@2
   994
		/**
williamr@2
   995
		Maximum startup modes.
williamr@2
   996
		
williamr@2
   997
		Returns the maximum number of values that can be used to store the startup mode requires for a system restart.
williamr@2
   998
		*/
williamr@2
   999
		EMaximumRestartStartupModes,
williamr@2
  1000
		
williamr@2
  1001
		/**
williamr@2
  1002
		Defines the custom resource drive.
williamr@2
  1003
		
williamr@4
  1004
		This drive attribute should be set if an additional drive is required for use in the search 
williamr@2
  1005
		algorithm for language files.  
williamr@2
  1006
        
williamr@2
  1007
        @see TDriveNumber
williamr@2
  1008
		@see BaflUtils::NearestLanguageFile for how this attribute is used
williamr@2
  1009
		@capability WriteDeviceData needed to Set this attribute
williamr@2
  1010
		*/
williamr@2
  1011
		ECustomResourceDrive,
williamr@2
  1012
williamr@2
  1013
		/**
williamr@4
  1014
		Step size of Z distance data.
williamr@4
  1015
williamr@4
  1016
		Returns the minimum size of the step between two resolvable z positions
williamr@4
  1017
		*/
williamr@4
  1018
		EPointer3DProximityStep,
williamr@4
  1019
williamr@4
  1020
		/**
williamr@4
  1021
		Maximum Number of Pointers supported by hardware/driver
williamr@4
  1022
williamr@4
  1023
		Returns the maximum number of pointers for a multi-touch configuration (or KErrNotSupported or 0 or 1 for single-touch legacy configuration)
williamr@4
  1024
		*/
williamr@4
  1025
		EPointerMaxPointers,
williamr@4
  1026
williamr@4
  1027
		/**
williamr@4
  1028
		Maximum Number of Pointers
williamr@4
  1029
		
williamr@4
  1030
		Sets and reads back the number of pointers as requested by the UI (<=EPointerMaxPointers)
williamr@4
  1031
		*/
williamr@4
  1032
		EPointerNumberOfPointers,
williamr@4
  1033
williamr@4
  1034
		/**
williamr@4
  1035
		Maximum Pressure Value
williamr@4
  1036
williamr@4
  1037
		Returns the maximum pressure value
williamr@4
  1038
		*/
williamr@4
  1039
		EPointer3DMaxPressure,
williamr@4
  1040
williamr@4
  1041
		/**
williamr@4
  1042
		Step size of pressure data.
williamr@4
  1043
williamr@4
  1044
		Returns the minimum size of the step between two resolvable pressure readings			
williamr@4
  1045
		*/
williamr@4
  1046
		EPointer3DPressureStep,
williamr@4
  1047
williamr@4
  1048
		/**
williamr@4
  1049
		The threshold on pointer's Z coordinate above which EEnterHighPressure pointer event is sent to WSERV's clients.
williamr@4
  1050
		This value is intended to be preconfigured in build time and modified by Window Server only
williamr@4
  1051
williamr@4
  1052
		@prototype 9.5
williamr@4
  1053
		*/
williamr@4
  1054
		EPointer3DEnterHighPressureThreshold,
williamr@4
  1055
	
williamr@4
  1056
		/**
williamr@4
  1057
		The threshold on pointer's Z coordinate below which EExitHighPressure pointer event is sent to WSERV's clients.
williamr@4
  1058
		This value is intended to be preconfigured in build time and modified by Window Server only
williamr@4
  1059
williamr@4
  1060
		@prototype 9.5
williamr@4
  1061
		*/
williamr@4
  1062
		EPointer3DExitHighPressureThreshold,
williamr@4
  1063
williamr@4
  1064
		/**
williamr@4
  1065
		The threshold on pointer's Z coordinate above which EEnterCloseProximity pointer event is sent to WSERV's clients.
williamr@4
  1066
		This value is intended to be preconfigured in build time and modified by Window Server only
williamr@4
  1067
williamr@4
  1068
		@prototype 9.5
williamr@4
  1069
		*/
williamr@4
  1070
		EPointer3DEnterCloseProximityThreshold,
williamr@4
  1071
williamr@4
  1072
		
williamr@4
  1073
		/**
williamr@4
  1074
		The threshold on pointer's Z coordinate below which EExitCloseProximity pointer event is sent to WSERV's clients.
williamr@4
  1075
		This value is intended to be preconfigured in build time and modified by Window Server only
williamr@4
  1076
williamr@4
  1077
		@prototype 9.5
williamr@4
  1078
		*/
williamr@4
  1079
		EPointer3DExitCloseProximityThreshold,
williamr@4
  1080
		
williamr@4
  1081
		/**
williamr@4
  1082
		A Handle to the display memory.
williamr@4
  1083
williamr@4
  1084
		@prototype 9.5
williamr@4
  1085
		*/
williamr@4
  1086
		EDisplayMemoryHandle,
williamr@4
  1087
williamr@4
  1088
		/**
williamr@4
  1089
		Serial number of this board
williamr@4
  1090
		*/
williamr@4
  1091
		ESerialNumber,
williamr@4
  1092
		
williamr@4
  1093
		
williamr@4
  1094
		/**
williamr@4
  1095
		Interrupt used by sampling profiler - applicable for SMP only. Each CPU_i is interrupted by interrupt number ECpuProfilingInterrupt + i
williamr@4
  1096
		*/
williamr@4
  1097
		ECpuProfilingDefaultInterruptBase,
williamr@4
  1098
williamr@4
  1099
williamr@4
  1100
		/**
williamr@4
  1101
		Number of processors present on the device. Returns 1 on unicore. This number is constant and does not take account of power management
williamr@4
  1102
		*/
williamr@4
  1103
		ENumCpus,
williamr@4
  1104
williamr@4
  1105
williamr@4
  1106
		/*
williamr@4
  1107
		 * NOTE:
williamr@4
  1108
		 * When updating this list, please also update hal/rom/hal.hby and hal/tsrc/t_newhal.cpp.
williamr@4
  1109
		 */
williamr@4
  1110
williamr@4
  1111
		/**
williamr@4
  1112
		
williamr@2
  1113
		The number of HAL attributes per screen.
williamr@2
  1114
		
williamr@2
  1115
		It is simply defined by its position in the enumeration.
williamr@2
  1116
		*/
williamr@4
  1117
		ENumHalAttributes		
williamr@4
  1118
williamr@2
  1119
		};
williamr@2
  1120
williamr@2
  1121
williamr@2
  1122
williamr@2
  1123
    /**
williamr@2
  1124
    Defines properties for the hardware attributes.
williamr@2
  1125
    
williamr@2
  1126
    @see HALData::TAttribute
williamr@2
  1127
    */
williamr@2
  1128
	enum TAttributeProperty
williamr@2
  1129
		{
williamr@2
  1130
		/**
williamr@2
  1131
		When set, means that an attribute is meaningful on this device.
williamr@2
  1132
				
williamr@2
  1133
		@see HAL::Get()
williamr@2
  1134
		@see HAL::Set()
williamr@2
  1135
		*/
williamr@2
  1136
		EValid=0x1,
williamr@2
  1137
		
williamr@2
  1138
		
williamr@2
  1139
		/**
williamr@2
  1140
		When set, means that an attribute is modifiable.
williamr@2
  1141
		A call to HAL::Set() for an attribute that does not have this property,
williamr@2
  1142
		returns KErrNotSupported.
williamr@2
  1143
		
williamr@2
  1144
		@see HAL::Get()
williamr@2
  1145
		@see HAL::Set()
williamr@2
  1146
		*/
williamr@2
  1147
		ESettable=0x2,
williamr@2
  1148
		};
williamr@2
  1149
williamr@2
  1150
williamr@2
  1151
williamr@2
  1152
    /**
williamr@2
  1153
    UIDs for a defined set of device manufacturers.
williamr@2
  1154
    
williamr@2
  1155
    Note that any manufacturer not represented in this list must obtain
williamr@2
  1156
    a value from the Symbian registry.
williamr@2
  1157
    
williamr@2
  1158
    @see HALData::TAttribute
williamr@2
  1159
    */
williamr@2
  1160
    enum TManufacturer // UID for manufacturer
williamr@2
  1161
		{
williamr@2
  1162
		EManufacturer_Ericsson=0x00000000,
williamr@2
  1163
		EManufacturer_Motorola=0x00000001,
williamr@2
  1164
		EManufacturer_Nokia=0x00000002,
williamr@2
  1165
		EManufacturer_Panasonic=0x00000003,
williamr@2
  1166
		EManufacturer_Psion=0x00000004,
williamr@2
  1167
		EManufacturer_Intel=0x00000005,
williamr@2
  1168
		EManufacturer_Cogent=0x00000006,
williamr@2
  1169
		EManufacturer_Cirrus=0x00000007,
williamr@2
  1170
		EManufacturer_Linkup=0x00000008,
williamr@2
  1171
		EManufacturer_TexasInstruments=0x00000009,
williamr@2
  1172
		// New manufacturers must obtain an official UID to identify themselves
williamr@2
  1173
		};
williamr@2
  1174
williamr@2
  1175
williamr@2
  1176
williamr@2
  1177
    /**
williamr@2
  1178
	Defines the Symbian OS device families.
williamr@2
  1179
	
williamr@2
  1180
    @see HALData::TAttribute
williamr@2
  1181
    */
williamr@2
  1182
	enum TDeviceFamily
williamr@2
  1183
		{
williamr@2
  1184
		EDeviceFamily_Crystal,
williamr@2
  1185
		EDeviceFamily_Pearl,
williamr@2
  1186
		EDeviceFamily_Quartz,
williamr@2
  1187
		};
williamr@2
  1188
williamr@2
  1189
williamr@2
  1190
williamr@2
  1191
    /**
williamr@2
  1192
    Defines the set of CPU architectures.
williamr@2
  1193
    
williamr@2
  1194
    @see HALData::TAttribute
williamr@2
  1195
    */
williamr@2
  1196
	enum TCPU
williamr@2
  1197
		{
williamr@2
  1198
		ECPU_ARM,
williamr@2
  1199
		ECPU_MCORE,
williamr@2
  1200
		ECPU_X86,
williamr@2
  1201
		};
williamr@2
  1202
williamr@2
  1203
williamr@2
  1204
williamr@2
  1205
    /**
williamr@2
  1206
    Defines the set of ABIs used by the CPU for user applications.
williamr@2
  1207
    
williamr@2
  1208
    @see HALData::TAttribute    
williamr@2
  1209
    */
williamr@2
  1210
	enum TCPUABI
williamr@2
  1211
		{
williamr@2
  1212
		ECPUABI_ARM4,
williamr@2
  1213
		ECPUABI_ARMI,
williamr@2
  1214
		ECPUABI_THUMB,
williamr@2
  1215
		ECPUABI_MCORE,
williamr@2
  1216
		ECPUABI_MSVC,
williamr@2
  1217
		ECPUABI_ARM5T,
williamr@2
  1218
		ECPUABI_X86,
williamr@2
  1219
		};
williamr@2
  1220
williamr@2
  1221
williamr@2
  1222
williamr@2
  1223
    /**
williamr@2
  1224
    Defines the set of reasons for a system boot.
williamr@2
  1225
    
williamr@2
  1226
    @see HALData::TAttribute
williamr@2
  1227
    */
williamr@2
  1228
	enum TSystemStartupReason
williamr@2
  1229
		{
williamr@2
  1230
		ESystemStartupReason_Cold,
williamr@2
  1231
		ESystemStartupReason_Warm,
williamr@2
  1232
		ESystemStartupReason_Fault,
williamr@2
  1233
		};
williamr@2
  1234
williamr@2
  1235
williamr@2
  1236
williamr@2
  1237
    /**
williamr@2
  1238
    Defines the set of available keyboard types.
williamr@2
  1239
williamr@2
  1240
    @see HALData::TAttribute
williamr@2
  1241
    */
williamr@2
  1242
	bitmask TKeyboard
williamr@2
  1243
		{
williamr@2
  1244
		EKeyboard_Keypad=0x1,
williamr@2
  1245
		EKeyboard_Full=0x2,
williamr@2
  1246
		};
williamr@2
  1247
williamr@2
  1248
williamr@2
  1249
williamr@2
  1250
    /**
williamr@2
  1251
    Defines the mouse cursor visibility.
williamr@2
  1252
    
williamr@2
  1253
    @see HALData::TAttribute
williamr@2
  1254
    */
williamr@2
  1255
	enum TMouseState
williamr@2
  1256
		{
williamr@2
  1257
		EMouseState_Invisible=0,
williamr@2
  1258
		EMouseState_Visible=1,
williamr@2
  1259
		};
williamr@2
  1260
williamr@2
  1261
williamr@2
  1262
williamr@2
  1263
    /**
williamr@2
  1264
    Defines a set of UIDs for specific devices, reference boards etc
williamr@2
  1265
    
williamr@2
  1266
    @see HALData::TAttribute
williamr@2
  1267
    */
williamr@2
  1268
	enum TMachineUid
williamr@2
  1269
		{
williamr@2
  1270
		EMachineUid_Series5mx=0x1000118a,
williamr@2
  1271
		EMachineUid_Brutus=0x10005f60,
williamr@2
  1272
		EMachineUid_Cogent=0x10005f61,
williamr@2
  1273
		EMachineUid_Win32Emulator=0x10005f62,
williamr@2
  1274
		EMachineUid_WinC=0x10005f63,
williamr@2
  1275
		EMachineUid_CL7211_Eval=0x1000604f,
williamr@2
  1276
		EMachineUid_LinkUp=0x00000000,
williamr@2
  1277
		EMachineUid_Assabet=0x100093f3,
williamr@2
  1278
		EMachineUid_Zylonite=0x101f7f27,
williamr@2
  1279
		EMachineUid_IQ80310=0x1000a681,
williamr@2
  1280
		EMachineUid_Lubbock=0x101f7f26,
williamr@2
  1281
		EMachineUid_Integrator=0x1000AAEA,
williamr@2
  1282
		EMachineUid_Helen=0x101F3EE3,
williamr@2
  1283
		EMachineUid_X86PC=0x100000ad,
williamr@2
  1284
		EMachineUid_OmapH2=0x1020601C,
williamr@2
  1285
		EMachineUid_OmapH4=0x102734E3,
williamr@4
  1286
		EMachineUid_NE1_TB=0x102864F7,
williamr@4
  1287
		EMachineUid_EmuBoard=0x1200afed,
williamr@4
  1288
		EMachineUid_OmapH6=0x10286564,
williamr@4
  1289
		EMachineUid_OmapZoom=0x10286565,
williamr@4
  1290
		EMachineUid_STE8500=0x101FF810,
williamr@2
  1291
		};
williamr@2
  1292
williamr@2
  1293
williamr@2
  1294
williamr@2
  1295
    /**
williamr@2
  1296
    Defines power levels for the system (or 'Main') battery.
williamr@2
  1297
    
williamr@2
  1298
    @see HALData::TAttribute
williamr@2
  1299
    */
williamr@2
  1300
	enum TPowerBatteryStatus
williamr@2
  1301
		{
williamr@2
  1302
		EPowerBatteryStatus_Zero,
williamr@2
  1303
		EPowerBatteryStatus_Replace,
williamr@2
  1304
		EPowerBatteryStatus_Low,
williamr@2
  1305
		EPowerBatteryStatus_Good,
williamr@2
  1306
		};
williamr@2
  1307
williamr@2
  1308
williamr@2
  1309
williamr@2
  1310
    /**
williamr@2
  1311
    Defines power levels for the backup power.
williamr@2
  1312
williamr@2
  1313
    @see HALData::TAttribute
williamr@2
  1314
    */
williamr@2
  1315
	enum TPowerBackupStatus
williamr@2
  1316
		{
williamr@2
  1317
		EPowerBackupStatus_Zero,
williamr@2
  1318
		EPowerBackupStatus_Replace,
williamr@2
  1319
		EPowerBackupStatus_Low,
williamr@2
  1320
		EPowerBackupStatus_Good,
williamr@2
  1321
		};
williamr@4
  1322
	
williamr@2
  1323
	};
williamr@2
  1324
williamr@2
  1325
#endif