usb_plat/usb_shai_api/inc/usb_common_shai.h
branchRCL_3
changeset 16 012cc2ee6408
parent 15 f92a4f87e424
equal deleted inserted replaced
15:f92a4f87e424 16:012cc2ee6408
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 /** @file
       
    19     @brief USB SHAI header for common types and constants
       
    20     @version 0.2.0
       
    21 
       
    22     This header specifies common types and constants used by both the
       
    23     peripheral and host/OTG USB SHAIs. It is automatically included by
       
    24     the USB Host and Peripheral SHAI headers and is not intended to be
       
    25     directly included by SHAI implementations.
       
    26 
       
    27     The file is versioned for the sake of the human reader, but a
       
    28     compile-time constant to show the header version is not available,
       
    29     as this header is not intended to be directly included by PSL
       
    30     implementations. If a change in this header impacts the overall
       
    31     USB SHAI interface (i.e. change other than documentation
       
    32     improvements), the version of the impacted interfaces (USB Host
       
    33     SHAI, USB OTG SHAI, and/or USB Peripheral SHAI) shall too be
       
    34     changed to make the change visible to the PSL.
       
    35 
       
    36     @publishedDeviceAbstraction
       
    37 */
       
    38 
       
    39 
       
    40 #ifndef USB_COMMON_SHAI_H
       
    41 #define USB_COMMON_SHAI_H
       
    42 
       
    43 // System includes
       
    44 #include <kern_priv.h>
       
    45 
       
    46 /**
       
    47  * @brief USB SHAI types and interfaces
       
    48  *
       
    49  * This namespace holds all USB SHAI related types, constants,
       
    50  * classes, and functions.
       
    51  */
       
    52 namespace UsbShai
       
    53     {
       
    54     // Data types
       
    55 
       
    56     /**
       
    57      * Enumeration specifying the available USB endpoint types.
       
    58      */
       
    59     enum TEndpointType
       
    60         {
       
    61         /** Endpoint type is control */
       
    62         EEpTypeControl = 0,
       
    63         
       
    64         /** Endpoint type is bulk */
       
    65         EEpTypeBulk,
       
    66 
       
    67         /** Endpoint type is interrupt */
       
    68         EEpTypeInterrupt,
       
    69 
       
    70         /** Endpoint type is isochronous */
       
    71         EEpTypeIsochronous
       
    72         };
       
    73 
       
    74     /**
       
    75      * Enumeration specifying the available USB speeds.
       
    76      */
       
    77     enum TSpeed
       
    78         {
       
    79         /** The bus operates in low speed mode */
       
    80         ELowSpeed = 0,
       
    81             
       
    82         /** The bus operates in full speed mode */
       
    83         EFullSpeed,
       
    84             
       
    85         /** The bus operates in high speed mode */
       
    86         EHighSpeed
       
    87         };
       
    88     };
       
    89 
       
    90 #endif // USB_COMMON_SHAI_H
       
    91 
       
    92 /* End of File */