⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tdidesc.h

📁 Usb Host/Periphel Control TD1120 codes
💻 H
字号:
/*-----------------------------------------------------------------------------
$File: //tdi_sw/tdi/source/usb/common/tdidesc.h $
$DateTime: 2004/12/20 19:06:16 $
$Revision: #3 $
Purpose:   USB Descriptors and structures with other members to make a complete
           tree of descriptors.

CONFIDENTIAL AND PROPRIETARY INFORMATION OF TRANSDIMENSION, INC. 
AND/OR ITS WHOLLY OWNED SUBSIDIARY SOFTCONNEX TECHNOLOGIES, INC.

THIS NOTICE IS NOT TO BE DELETED, MODIFIED, MOVED OR CHANGED IN ANY WAY.

(TransDimension, Inc. and SoftConnex Technologies, Inc. are referred to 
collectively below as TransDimension, Inc.)
Copyright (c) 1999 - 2004 by TransDimension, Inc. 

This software is protected by copyright laws and international copyright 
treaties, as well as other intellectual property laws and treaties.  This
software is a CONFIDENTIAL, unpublished work of authorship, and with portions 
constituting TRADE SECRETS of TransDimension, Inc..  Any unauthorized use, 
disclosure, and/or reproduction of this software, or any part of this software;
or distribution of this software in any form or by any means; or storage 
of this software in any database or retrieval system, without the express 
written consent of, and license from, TransDimension, Inc. is strictly prohibited.
This software is protected under the copyright and/or trade secret laws in other 
countries in addition to USA.  All Rights Reserved.  Failure to abide by the use, 
disclosure and/or reproduction restrictions may result in civil and /or criminal 
penalties, and will be prosecuted to the maximum extent of	the law.
-----------------------------------------------------------------------------*/

#ifndef _SOFTCONNEX_TDIDESC_H_
#define _SOFTCONNEX_TDIDESC_H_

/******************************************************************************
 Include Files
******************************************************************************/

#include "usbdesc.h"


/******************************************************************************
 Public Definitions
******************************************************************************/

/******************************************************************************
 Public Data Types
******************************************************************************/

/* TdiUsbDescriptor is any USB descriptor. Since standard descriptor will has
   specific structures, this one can be used to hold all non-standard descriptors */
typedef struct _TdiUsbDescriptor
   {
   UsbDescriptor desc;
   struct _TdiUsbDescriptor* next;
   U8 descriptor[1];
   }
TdiUsbDescriptor;

/*------------------------------------------------------------------------------
OTG Descriptor:
   desc is the standard OTG descriptor.
   rawDescriptor points to the unparsed descriptor as defined in USB spec.
   device is a pointer to the device structure.
   otherDescriptor points to any non-standard descriptors.
------------------------------------------------------------------------------*/

typedef struct _TdiOtgDescriptor
   {
   OtgDescriptor desc;
   U8* rawDescriptor;
   struct _TdiDeviceDescriptor *device;
   struct _TdiUsbDescriptor* otherDescriptor;
   }
TdiOtgDescriptor;

/*------------------------------------------------------------------------------
Endpoint Descriptor:
------------------------------------------------------------------------------*/

typedef struct _TdiEndpointDescriptor
   {
   EndpointDescriptor desc;
   U8* rawDescriptor;
   struct _TdiDeviceDescriptor *device;
   struct _TdiUsbDescriptor* otherDescriptor;
   struct _TdiEndpointDescriptor *next;
   }
TdiEndpointDescriptor;

/*------------------------------------------------------------------------------
Interface Descriptor:
------------------------------------------------------------------------------*/

typedef struct _TdiInterfaceDescriptor
   {
   InterfaceDescriptor desc;
   U8* rawDescriptor;
   struct _TdiInterfaceDescriptor *selectedAlternateSetting;
   struct _TdiEndpointDescriptor *endpoints;
   struct _TdiUsbDescriptor* otherDescriptor;
   struct _TdiInterfaceDescriptor *next;
   }
TdiInterfaceDescriptor;


/*------------------------------------------------------------------------------
Configuration Descriptor Structure:
   Standard USB Descriptor - The first part of this structure holds the
      standard USB descriptor that was received from the device.
   ConfigurationIndex - This is the index of the configuration descriptor. This
      value is used on a GET_DESCRIPTOR transfer for a configuration
      descriptor. This value can be different than bConfigurationValue, which
      is used on a set configuration.
   Intf - The NULL terminated linked list of interface descriptors that
      belong to this configuration.
   Next - This member points to the next configuration descriptor owned by a
      device. If NULL this is the last configuration descriptor.
------------------------------------------------------------------------------*/

typedef struct _TdiConfigurationDescriptor 
   {
   ConfigurationDescriptor desc;
   U8 configurationIndex;
   U8* rawDescriptor;
   struct _TdiInterfaceDescriptor *intf;
   struct _TdiUsbDescriptor* otherDescriptor;
   struct _TdiConfigurationDescriptor *next;
   }
TdiConfigurationDescriptor;


/*------------------------------------------------------------------------------
Device Descriptor Structure: First section is a standard USB device
   descriptor. After that are the USBLink extensions.
------------------------------------------------------------------------------*/

typedef struct _TdiDeviceDescriptor
   {
   DeviceDescriptor desc;

   U32 address;
   U8 speed;

   TdiConfigurationDescriptor *selectedConfiguration;
   TdiEndpointDescriptor controlEndpoint;

   TdiConfigurationDescriptor *allConfig;

   U8* rawDescriptor;
   struct _TdiDeviceDescriptor *next;
   }
TdiDeviceDescriptor;

/******************************************************************************
 Public Functions
******************************************************************************/

#endif /* _SOFTCONNEX_TDIDESC_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -