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

📄 alauda.h

📁 LINUX下USB驱动程序的开发
💻 H
字号:
/* * Driver for Alauda-based card readers * * Current development and maintenance by: *    (c) 2005 Daniel Drake <dsd@gentoo.org> * * See alauda.c for more explanation. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef _USB_ALAUDA_H#define _USB_ALAUDA_H/* * Status bytes */#define ALAUDA_STATUS_ERROR		0x01#define ALAUDA_STATUS_READY		0x40/* * Control opcodes (for request field) */#define ALAUDA_GET_XD_MEDIA_STATUS	0x08#define ALAUDA_GET_SM_MEDIA_STATUS	0x98#define ALAUDA_ACK_XD_MEDIA_CHANGE	0x0a#define ALAUDA_ACK_SM_MEDIA_CHANGE	0x9a#define ALAUDA_GET_XD_MEDIA_SIG		0x86#define ALAUDA_GET_SM_MEDIA_SIG		0x96/* * Bulk command identity (byte 0) */#define ALAUDA_BULK_CMD			0x40/* * Bulk opcodes (byte 1) */#define ALAUDA_BULK_GET_REDU_DATA	0x85#define ALAUDA_BULK_READ_BLOCK		0x94#define ALAUDA_BULK_ERASE_BLOCK		0xa3#define ALAUDA_BULK_WRITE_BLOCK		0xb4#define ALAUDA_BULK_GET_STATUS2		0xb7#define ALAUDA_BULK_RESET_MEDIA		0xe0/* * Port to operate on (byte 8) */#define ALAUDA_PORT_XD			0x00#define ALAUDA_PORT_SM			0x01/* * LBA and PBA are unsigned ints. Special values. */#define UNDEF    0xffff#define SPARE    0xfffe#define UNUSABLE 0xfffdint init_alauda(struct us_data *us);int alauda_transport(struct scsi_cmnd *srb, struct us_data *us);struct alauda_media_info {	unsigned long capacity;		/* total media size in bytes */	unsigned int pagesize;		/* page size in bytes */	unsigned int blocksize;		/* number of pages per block */	unsigned int uzonesize;		/* number of usable blocks per zone */	unsigned int zonesize;		/* number of blocks per zone */	unsigned int blockmask;		/* mask to get page from address */	unsigned char pageshift;	unsigned char blockshift;	unsigned char zoneshift;	u16 **lba_to_pba;		/* logical to physical block map */	u16 **pba_to_lba;		/* physical to logical block map */};struct alauda_info {	struct alauda_media_info port[2];	int wr_ep;			/* endpoint to write data out of */	unsigned char sense_key;	unsigned long sense_asc;	/* additional sense code */	unsigned long sense_ascq;	/* additional sense code qualifier */};#endif

⌨️ 快捷键说明

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