diff -r d3e8e7d462dd -r f92a4f87e424 usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/inc/ncmclassdescriptor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/inc/ncmclassdescriptor.h Tue Aug 31 17:01:47 2010 +0300 @@ -0,0 +1,79 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +/** @file +@internalComponent +*/ + + +#ifndef NCMCLASSDESCRIPTOR_H +#define NCMCLASSDESCRIPTOR_H + +#include + + +const TUint KUSBNcmClassSpecificBufferSize = 29; + + +/** + * Defined NCM Class Descriptor + */ +NONSHARABLE_CLASS(TNcmClassDescriptor) ///< Class-specific descriptor + { +public: + + //Header Functional Descriptor + TUint8 iHdrSize; ///< Header size + TUint8 iHdrType; ///< Type + TUint8 iHdrSubType; ///< Sub-type + TUint16 iHdrBcdCDC; ///< CDC version no in binary coded decimal + + //Union Functional Descriptor + TUint8 iUnSize; ///< Union descriptor size + TUint8 iUnType; ///< Union descriptor type + TUint8 iUnSubType; ///< Union descriptor sub-type + TUint8 iUnMasterInterface; ///< Master interface number + TUint8 iUnSlaveInterface; ///< Slave interface number + + //Ethernet Networking Functional Descriptor + TUint8 iEthFunLength; ///< Size of this functional descriptor + TUint8 iEthFunType; ///< CS_INTERFACE + TUint8 iEthFunSubtype; ///< Ethernet Networking functional descriptor subtype as defined in [USBCDC1.2] + TUint8 iMACAddress; ///< Index of string descriptor. The string descriptor holds the 48bit Ethernet MAC address. + TUint iEthernetStatistics; ///< Indicates which Ethernet statistics functions the device collects. + TUint16 iMaxSegmentSize; ///< The maximum segment size that the Ethernet device is capable of supporting. + TUint16 iNumberMCFilters; ///< Contains the number of multicast filters that can be configured by the host. + TUint8 iNumberPowerFilters; ///< Contains the number of pattern filters that are available for causing wake-up of the host. + + + //NCM Functional Descriptor + TUint8 iNcmFunLength; ///< Size of this functional descriptor + TUint8 iNcmFunType; ///< CS_INTERFACE + TUint8 iNcmFunSubtype; ///< NCM Functional Descriptor subtype + TUint16 iNcmVersion; ///< Release number of this specification in BCD + TUint8 iNetworkCapabilities; ///< Specifies the capabilities of this function + +public: + TDes8& Des(); + +private: + + TBuf8 iBuffer; + }; + +#endif // NCMCLASSDESCRIPTOR_H +