|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-C661B40F-1439-587F-9E8E-DB2DFC79C040" xml:lang="en"><title>HAL Groups</title><shortdesc>Description of HAL groups to add new attributes.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>You can extend <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-366CC4B8-C6BD-5DCC-B55D-6D87CD5C8E64">HAL |
|
14 groups</xref> to add new attributes and new types of hardware. </p> |
|
15 <section id="GUID-7ACAB5F0-08A8-4D53-9F47-9E77642F7337"><title>Extending an existing hardware type</title> <p>Each HAL group |
|
16 has an associated set of function numbers. For example, the enumerators of <codeph>TDisplayHalFunction</codeph>, |
|
17 in <filepath>u32std.h</filepath> define the functions associated with the |
|
18 HAL group <codeph>EHalGroupDisplay</codeph>. </p> <p>In this specific case, |
|
19 new state can be represented by a new function number, and by changing the <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-1B59A40C-D023-5555-8E5E-DF18D653D321">HAL |
|
20 handler implementation</xref> to deal with the new function number. </p> <p>It |
|
21 is important to note that any new function numbers should not follow consecutively |
|
22 from those defined by Symbian. Instead, choose high values so that they are |
|
23 guaranteed not to clash with any future Symbian extensions. Symbian will always |
|
24 use new values that follow consecutively from previous Symbian defined values. </p> </section> |
|
25 <section id="GUID-A819D9EA-A16F-4806-B8E8-C7ED008C6D31"><title>New hardware type</title> <p>Although up to 32 HAL groups |
|
26 can be defined, Symbian OS does not use all 32. This leaves some values that |
|
27 can be used for new hardware. </p> <p>In this case choose a HAL group number |
|
28 at the high end of the range, so that it is guaranteed not to clash with any |
|
29 future Symbian extensions. Symbian will always use new values that follow |
|
30 consecutively from previous Symbian defined values. </p> </section> |
|
31 </conbody></concept> |