|
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-9D4B8CDF-60D7-5952-AAAF-94A3C1E8908F" xml:lang="en"><title>Architecture</title><shortdesc>Explains architecture of the User-Side Hardware Abstraction (HAL) |
|
13 component.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <fig id="GUID-38D3E959-F627-592D-A05F-9F907B6DB95C"> |
|
15 <image href="GUID-FF2ABA1D-1F71-5A9C-AFD5-A0CED39BFD86_d0e39571_href.png" placement="inline"/> |
|
16 </fig> |
|
17 <ul> |
|
18 <li id="GUID-47670BE0-64BD-53E8-A7EF-6735FC5C0DC5"><p>Specific items of hardware |
|
19 related information are called <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-174A663C-3943-5D36-B507-D97A687C168C">attributes</xref>. </p> <p>The base port customises the <filepath>hal.dll</filepath> library to |
|
20 set which attributes can be used on a device. </p> <p>Some attributes are |
|
21 simple values, but some attributes must be read and set with a function. These |
|
22 functions are called accessor functions. The base port sets identifiers for |
|
23 the accessor functions to use. </p> </li> |
|
24 <li id="GUID-380B5157-C605-5231-AF98-A08FC974F812"><p>User-side programs use |
|
25 the <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-F1F21DDA-DEA0-502E-83DB-84DDCFA5CBF8">user-side |
|
26 interface</xref> <xref href="GUID-BD00E7FC-C234-3111-87A5-10F79EB0F2B8.dita"><apiname>HAL</apiname></xref> class in <filepath>hal.dll</filepath> to |
|
27 get and set information about attributes. </p> </li> |
|
28 <li id="GUID-9795E5E7-88AC-56DA-8269-CD4C9493E2C4"><p>The accessor functions |
|
29 are implemented on the kernel side by functions called <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-1B59A40C-D023-5555-8E5E-DF18D653D321">HAL handlers</xref>. </p> <p>The variant DLL and many device drivers in a |
|
30 base port can implement HAL handlers. </p> </li> |
|
31 <li id="GUID-0C70C3D4-3FD0-5CD8-A7C0-A28C77417460"><p>Kernel-side programs |
|
32 can use the <xref href="GUID-9AE254D4-AA60-579E-8D9D-F2797106A413.dita#GUID-9AE254D4-AA60-579E-8D9D-F2797106A413/GUID-042A8840-2260-5951-8951-E6E2A83F378E">Kernel-side |
|
33 interface</xref> <xref href="GUID-C6946ECB-775F-3EC2-A56F-78F25B9FBE3D.dita#GUID-C6946ECB-775F-3EC2-A56F-78F25B9FBE3D/GUID-DA115709-A225-3E2A-BCCD-6E2BB15979B9"><apiname>Kern::HalFunction()</apiname></xref> function to call HAL |
|
34 handler functions. </p> </li> |
|
35 </ul> |
|
36 </conbody></concept> |