79 lines · 1.8 KB · C
RawDownload
#ifndef _INTERFACE_ADAPTER_H#define _INTERFACE_ADAPTER_H struct bcm_bulk_endpoint_in {	char	*bulk_in_buffer;	size_t	bulk_in_size;	unsigned char	bulk_in_endpointAddr;	unsigned int	bulk_in_pipe;}; struct bcm_bulk_endpoint_out {	unsigned char	bulk_out_buffer;	size_t	bulk_out_size;	unsigned char	bulk_out_endpointAddr;	unsigned int	bulk_out_pipe;	/* this is used when int out endpoint is used as bulk out end point */	unsigned char	int_out_interval;}; struct bcm_intr_endpoint_in {	char	*int_in_buffer;	size_t	int_in_size;	unsigned char	int_in_endpointAddr;	unsigned char	int_in_interval;	unsigned int	int_in_pipe;}; struct bcm_intr_endpoint_out {	char	*int_out_buffer;	size_t	int_out_size;	unsigned char	int_out_endpointAddr;	unsigned char	int_out_interval;	unsigned int	int_out_pipe;}; struct bcm_usb_tcb {	struct urb *urb;	void *psIntfAdapter;	bool bUsed;}; struct bcm_usb_rcb {	struct urb *urb;	void *psIntfAdapter;	bool bUsed;}; /* * This is the interface specific Sub-Adapter * Structure. */struct bcm_interface_adapter {	struct usb_device *udev;	struct usb_interface *interface;	/* Bulk endpoint in info */	struct bcm_bulk_endpoint_in	sBulkIn;	/* Bulk endpoint out info */	struct bcm_bulk_endpoint_out	sBulkOut;	/* Interrupt endpoint in info */	struct bcm_intr_endpoint_in	sIntrIn;	/* Interrupt endpoint out info */	struct bcm_intr_endpoint_out	sIntrOut;	unsigned long		ulInterruptData[2];	struct urb *psInterruptUrb;	struct bcm_usb_tcb	asUsbTcb[MAXIMUM_USB_TCB];	struct bcm_usb_rcb	asUsbRcb[MAXIMUM_USB_RCB];	atomic_t	uNumTcbUsed;	atomic_t	uCurrTcb;	atomic_t	uNumRcbUsed;	atomic_t	uCurrRcb;	struct bcm_mini_adapter *psAdapter;	bool		bFlashBoot;	bool		bHighSpeedDevice;	bool		bSuspended;	bool		bPreparingForBusSuspend;	struct work_struct usbSuspendWork;}; #endif