Symbian3/PDK/Source/GUID-204B4155-AE35-5C53-867B-299AF7E5D16A.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     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-204B4155-AE35-5C53-867B-299AF7E5D16A" xml:lang="en"><title>Device
       
    13 driver services</title><shortdesc>Describes asynchronous services provided by device drivers.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>Some asynchronous services are provided directly by device drivers.</p>
       
    15 <p>As with services provided by the client-server framework, device driver
       
    16 provided services are presented to clients through a client API known as the
       
    17 user-side device driver. This is typically an <codeph>R</codeph> class, derived
       
    18 from <codeph>RLogicalChannel</codeph>. </p>
       
    19 <p>When the <codeph>RLogicalChannel</codeph> is opened, the device driver
       
    20 is initialised and the client’s thread id is noted. Request functions are
       
    21 converted into a message which encapsulates all the parameters, and sent to
       
    22 the Kernel-side driver. Completion of a request function usually corresponds
       
    23 closely with completion of a device operation. On completion, the driver posts
       
    24 the request status and signals the client thread’s request semaphore.</p>
       
    25 <p>Device drivers often have limited capability. For instance, an inability
       
    26 to be opened by multiple client threads simultaneously. Therefore, devices
       
    27 are often handled by specially tailored server threads. These servers present
       
    28 a client API with more sophistication, sharing and checking. </p>
       
    29 <p>Usually, therefore, clients use the server-provided classes rather than
       
    30 the user-side device driver directly.</p>
       
    31 </conbody></concept>