hub.h

来自「一个USB主机核的驱动程序」· C头文件 代码 · 共 92 行

H
92
字号
/****************************************************************
*                      MT View Silicon Tech. Inc.
*
*    Copyright 2007, MT View Silicon Tech. Inc., ShangHai, China
*                    All rights reserved.
*
*
* Filename:      	hub.h
*
* Programmer:    	Grey
*
* Created: 	 		01/xx/2008
*
* Description: 		usb hub device driver head file
*					
*              
*****************************************************************/

#ifndef __HUB_H__
#define	__HUB_H__

#include "stor.h"


#define	MAX_HUB_NUM			1
#define	MAX_HUB_PORT_NUM	1

/*
 * 	HUB descriptor, USB2.0 spec Table 11-13
 */
typedef struct _HUB_DESCRIPTOR
{
	BYTE		bDescLength;
	BYTE		bDescriptorType;
	BYTE		bNbrPorts;
	WORD		wHubCharacteristics;
	BYTE		bPwrOn2PwrGood;
	BYTE		bHubContrCurrent;
	BYTE		DeviceRemovable;
	BYTE		PortPwrCtrlMask;
}HUB_DESCRIPTOR;

#define USB_DT_HUB_SIZE		9
#define DESCRIPTOR_HUB		0x29


typedef struct _HUB_PORT
{
	BOOL		IsConnect;
	BOOL		IsChange;
	BOOL		IsPowerOn;
	BOOL		IsEnable;
}HUB_PORT;


typedef struct _HUB
{
	HUB_DESCRIPTOR		HubDescriptor;
	
	HUB_PORT			Port[MAX_HUB_PORT_NUM];

	USB_BUS				*Usb;
	USB_DEVICE			*Connectivity[MAX_HUB_PORT_NUM];

	BYTE				Set;
}HUB;


extern VOID*
AllocHub(VOID);

extern VOID
FreeHub(
	VOID		*hubpriv
	);

extern VOID
OpenHub(
	VOID		*hubpriv,
	VOID		*usbpriv
	);

extern VOID
HubPoll(
	VOID		*hubpriv
	);



#endif

⌨️ 快捷键说明

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