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