亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aic7xxx_osm.h

?? linux和2410結合開發 用他可以生成2410所需的zImage文件
?? H
?? 第 1 頁 / 共 3 頁
字號:
/* * Adaptec AIC7xxx device driver for Linux. * * Copyright (c) 1994 John Aycock *   The University of Calgary Department of Computer Science. * * 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; see the file COPYING.  If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. *  * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_linux.h#72 $ * * Copyright (c) 2000-2001 Adaptec Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions, and the following disclaimer, *    without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer *    substantially similar to the "NO WARRANTY" disclaimer below *    ("Disclaimer") and any redistribution must be conditioned upon *    including a substantially similar Disclaimer requirement for further *    binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names *    of any contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_linux.h#72 $ * */#ifndef _AIC7XXX_LINUX_H_#define _AIC7XXX_LINUX_H_#include <linux/types.h>#include <linux/blk.h>#include <linux/blkdev.h>#include <linux/delay.h>#include <linux/ioport.h>#include <linux/slab.h>#include <linux/pci.h>#include <linux/version.h>#include <linux/module.h>#include <asm/byteorder.h>#ifndef KERNEL_VERSION#define KERNEL_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z))#endif#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)#include <linux/config.h>#endif/* Core SCSI definitions */#include "../scsi.h"#include "../hosts.h"/* Name space conflict with BSD queue macros */#ifdef LIST_HEAD#undef LIST_HEAD#endif#include "cam.h"#include "queue.h"#include "scsi_message.h"/************************* Forward Declarations *******************************/struct ahc_softc;typedef struct pci_dev *ahc_dev_softc_t;typedef Scsi_Cmnd      *ahc_io_ctx_t;/******************************* Byte Order ***********************************/#define ahc_htobe16(x)	cpu_to_be16(x)#define ahc_htobe32(x)	cpu_to_be32(x)#define ahc_htobe64(x)	cpu_to_be64(x)#define ahc_htole16(x)	cpu_to_le16(x)#define ahc_htole32(x)	cpu_to_le32(x)#define ahc_htole64(x)	cpu_to_le64(x)#define ahc_be16toh(x)	be16_to_cpu(x)#define ahc_be32toh(x)	be32_to_cpu(x)#define ahc_be64toh(x)	be64_to_cpu(x)#define ahc_le16toh(x)	le16_to_cpu(x)#define ahc_le32toh(x)	le32_to_cpu(x)#define ahc_le64toh(x)	le64_to_cpu(x)#ifndef LITTLE_ENDIAN#define LITTLE_ENDIAN 1234#endif#ifndef BIG_ENDIAN#define BIG_ENDIAN 4321#endif#ifndef BYTE_ORDER#if defined(__BIG_ENDIAN)#define BYTE_ORDER BIG_ENDIAN#endif#if defined(__LITTLE_ENDIAN)#define BYTE_ORDER LITTLE_ENDIAN#endif#endif /* BYTE_ORDER *//************************* Configuration Data *********************************/extern int aic7xxx_no_probe;extern int aic7xxx_detect_complete;extern Scsi_Host_Template* aic7xxx_driver_template;/***************************** Bus Space/DMA **********************************/#if LINUX_VERSION_CODE > KERNEL_VERSION(2,2,17)typedef dma_addr_t bus_addr_t;#elsetypedef uint32_t bus_addr_t;#endiftypedef uint32_t bus_size_t;typedef enum {	BUS_SPACE_MEMIO,	BUS_SPACE_PIO} bus_space_tag_t;typedef union {	u_long		  ioport;	volatile uint8_t *maddr;} bus_space_handle_t;typedef struct bus_dma_segment{	bus_addr_t	ds_addr;	bus_size_t	ds_len;} bus_dma_segment_t;struct ahc_linux_dma_tag{	bus_size_t	alignment;	bus_size_t	boundary;	bus_size_t	maxsize;};typedef struct ahc_linux_dma_tag* bus_dma_tag_t;struct ahc_linux_dmamap{	bus_addr_t	bus_addr;};typedef struct ahc_linux_dmamap* bus_dmamap_t;typedef int bus_dma_filter_t(void*, bus_addr_t);typedef void bus_dmamap_callback_t(void *, bus_dma_segment_t *, int, int);#define BUS_DMA_WAITOK		0x0#define BUS_DMA_NOWAIT		0x1#define BUS_DMA_ALLOCNOW	0x2#define BUS_DMA_LOAD_SEGS	0x4	/*					 * Argument is an S/G list not					 * a single buffer.					 */#define BUS_SPACE_MAXADDR	0xFFFFFFFF#define BUS_SPACE_MAXADDR_32BIT	0xFFFFFFFF#define BUS_SPACE_MAXSIZE_32BIT	0xFFFFFFFFint	ahc_dma_tag_create(struct ahc_softc *, bus_dma_tag_t /*parent*/,			   bus_size_t /*alignment*/, bus_size_t /*boundary*/,			   bus_addr_t /*lowaddr*/, bus_addr_t /*highaddr*/,			   bus_dma_filter_t*/*filter*/, void */*filterarg*/,			   bus_size_t /*maxsize*/, int /*nsegments*/,			   bus_size_t /*maxsegsz*/, int /*flags*/,			   bus_dma_tag_t */*dma_tagp*/);void	ahc_dma_tag_destroy(struct ahc_softc *, bus_dma_tag_t /*tag*/);int	ahc_dmamem_alloc(struct ahc_softc *, bus_dma_tag_t /*dmat*/,			 void** /*vaddr*/, int /*flags*/,			 bus_dmamap_t* /*mapp*/);void	ahc_dmamem_free(struct ahc_softc *, bus_dma_tag_t /*dmat*/,			void* /*vaddr*/, bus_dmamap_t /*map*/);void	ahc_dmamap_destroy(struct ahc_softc *, bus_dma_tag_t /*tag*/,			   bus_dmamap_t /*map*/);int	ahc_dmamap_load(struct ahc_softc *ahc, bus_dma_tag_t /*dmat*/,			bus_dmamap_t /*map*/, void * /*buf*/,			bus_size_t /*buflen*/, bus_dmamap_callback_t *,			void */*callback_arg*/, int /*flags*/);int	ahc_dmamap_unload(struct ahc_softc *, bus_dma_tag_t, bus_dmamap_t);/* * Operations performed by ahc_dmamap_sync(). */#define BUS_DMASYNC_PREREAD	0x01	/* pre-read synchronization */#define BUS_DMASYNC_POSTREAD	0x02	/* post-read synchronization */#define BUS_DMASYNC_PREWRITE	0x04	/* pre-write synchronization */#define BUS_DMASYNC_POSTWRITE	0x08	/* post-write synchronization *//* * XXX * ahc_dmamap_sync is only used on buffers allocated with * the pci_alloc_consistent() API.  Although I'm not sure how * this works on architectures with a write buffer, Linux does * not have an API to sync "coherent" memory.  Perhaps we need * to do an mb()? */#define ahc_dmamap_sync(ahc, dma_tag, dmamap, offset, len, op)/************************** SCSI Constants/Structures *************************/#define SCSI_REV_2 2#define	SCSI_STATUS_OK			0x00#define	SCSI_STATUS_CHECK_COND		0x02#define	SCSI_STATUS_COND_MET		0x04#define	SCSI_STATUS_BUSY		0x08#define SCSI_STATUS_INTERMED		0x10#define SCSI_STATUS_INTERMED_COND_MET	0x14#define SCSI_STATUS_RESERV_CONFLICT	0x18#define SCSI_STATUS_CMD_TERMINATED	0x22#define SCSI_STATUS_QUEUE_FULL		0x28/* * 6 byte request sense CDB format. */struct scsi_sense{	uint8_t opcode;	uint8_t byte2;	uint8_t unused[2];	uint8_t length;	uint8_t control;};struct scsi_sense_data{	uint8_t	error_code;	uint8_t	segment;	uint8_t	flags;	uint8_t	info[4];	uint8_t	extra_len;	uint8_t	cmd_spec_info[4];	uint8_t add_sense_code;	uint8_t add_sense_code_qual;	uint8_t	fru;	uint8_t	sense_key_spec[3];	uint8_t	extra_bytes[14];};struct scsi_inquiry{ 	u_int8_t opcode;	u_int8_t byte2;#define	SI_EVPD 0x01	u_int8_t page_code;	u_int8_t reserved;	u_int8_t length;	u_int8_t control;};struct scsi_inquiry_data{	uint8_t device;#define	SID_TYPE(inq_data) ((inq_data)->device & 0x1f)#define	SID_QUAL(inq_data) (((inq_data)->device & 0xE0) >> 5)#define	SID_QUAL_LU_CONNECTED	0x00	/*					 * The specified peripheral device					 * type is currently connected to					 * logical unit.  If the target cannot					 * determine whether or not a physical					 * device is currently connected, it					 * shall also use this peripheral					 * qualifier when returning the INQUIRY					 * data.  This peripheral qualifier					 * does not mean that the device is					 * ready for access by the initiator.					 */#define	SID_QUAL_LU_OFFLINE	0x01	/*					 * The target is capable of supporting					 * the specified peripheral device type					 * on this logical unit; however, the					 * physical device is not currently					 * connected to this logical unit.					 */#define SID_QUAL_RSVD		0x02#define	SID_QUAL_BAD_LU		0x03	/*					 * The target is not capable of					 * supporting a physical device on					 * this logical unit. For this					 * peripheral qualifier the peripheral					 * device type shall be set to 1Fh to					 * provide compatibility with previous					 * versions of SCSI. All other					 * peripheral device type values are					 * reserved for this peripheral					 * qualifier.					 */#define	SID_QUAL_IS_VENDOR_UNIQUE(inq_data) ((SID_QUAL(inq_data) & 0x08) != 0)	uint8_t dev_qual2;#define	SID_QUAL2	0x7F#define	SID_IS_REMOVABLE(inq_data) (((inq_data)->dev_qual2 & 0x80) != 0)	uint8_t version;#define SID_ANSI_REV(inq_data) ((inq_data)->version & 0x07)#define		SCSI_REV_0		0#define		SCSI_REV_CCS		1#define		SCSI_REV_2		2#define		SCSI_REV_SPC		3#define		SCSI_REV_SPC2		4#define SID_ECMA	0x38#define SID_ISO		0xC0	uint8_t response_format;#define SID_AENC	0x80#define SID_TrmIOP	0x40	uint8_t additional_length;	uint8_t reserved[2];	uint8_t flags;#define	SID_SftRe	0x01#define	SID_CmdQue	0x02#define	SID_Linked	0x08#define	SID_Sync	0x10#define	SID_WBus16	0x20#define	SID_WBus32	0x40#define	SID_RelAdr	0x80#define SID_VENDOR_SIZE   8	char	 vendor[SID_VENDOR_SIZE];#define SID_PRODUCT_SIZE  16	char	 product[SID_PRODUCT_SIZE];#define SID_REVISION_SIZE 4	char	 revision[SID_REVISION_SIZE];	/*	 * The following fields were taken from SCSI Primary Commands - 2	 * (SPC-2) Revision 14, Dated 11 November 1999	 */#define	SID_VENDOR_SPECIFIC_0_SIZE	20	u_int8_t vendor_specific0[SID_VENDOR_SPECIFIC_0_SIZE];	/*	 * An extension of SCSI Parallel Specific Values	 */#define	SID_SPI_IUS		0x01#define	SID_SPI_QAS		0x02#define	SID_SPI_CLOCK_ST	0x00#define	SID_SPI_CLOCK_DT	0x04#define	SID_SPI_CLOCK_DT_ST	0x0C#define	SID_SPI_MASK		0x0F	uint8_t spi3data;	uint8_t reserved2;	/*	 * Version Descriptors, stored 2 byte values.	 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠久久亚洲欧美| 欧美一区二区精品在线| 欧美最新大片在线看| 欧美大片在线观看一区二区| 亚洲欧美国产高清| 国产一区二区三区不卡在线观看| 91国产免费看| 国产精品久久三| 精品一区二区在线看| 欧美在线一区二区| 日韩毛片一二三区| 国产99久久久国产精品潘金 | 69堂精品视频| 国产精品久久久久毛片软件| 六月丁香综合在线视频| 欧美日韩激情一区| 亚洲美女屁股眼交3| 国产精品一区二区三区四区| 欧美一区二区三区在线| 亚洲一区二区三区爽爽爽爽爽| 国产99一区视频免费| 久久影视一区二区| 黄色精品一二区| 精品国产91洋老外米糕| 日韩电影一区二区三区四区| 欧美日韩视频第一区| 一区二区三区 在线观看视频| www.99精品| 亚洲欧洲精品一区二区三区| 国产成人综合在线播放| 国产三级三级三级精品8ⅰ区| 久久爱www久久做| 精品少妇一区二区三区| 日本怡春院一区二区| 91精品国产乱| 麻豆国产精品777777在线| 欧美一区二区在线不卡| 日韩精品高清不卡| 日韩女优毛片在线| 国产一区激情在线| 久久久亚洲精品一区二区三区| 国产在线播精品第三| 国产清纯在线一区二区www| 国产精品一线二线三线| 欧美国产成人在线| 91视频一区二区| 污片在线观看一区二区| 欧美一卡二卡三卡四卡| 蜜臀av一区二区在线观看| 日韩女优av电影在线观看| 国产激情91久久精品导航| 中文字幕一区二区在线观看| 91黄色激情网站| 欧美aaaaa成人免费观看视频| 91麻豆精品国产91久久久更新时间| 日韩中文字幕91| 日韩美一区二区三区| 国产精品自产自拍| 亚洲私人黄色宅男| 欧美日韩一区二区三区不卡| 亚洲va欧美va人人爽午夜| www一区二区| 99久久精品国产一区| 亚洲国产cao| 《视频一区视频二区| 在线观看日产精品| 激情综合亚洲精品| 亚洲日本免费电影| 欧美电影免费观看高清完整版在 | 欧美三级日韩三级国产三级| 蜜臀av性久久久久av蜜臀妖精| 久久中文娱乐网| 色狠狠桃花综合| 开心九九激情九九欧美日韩精美视频电影 | 久久久久久久综合狠狠综合| 成人黄页在线观看| 亚洲成人动漫精品| 国产精品久久久久久久久晋中| 欧美日韩一区二区三区在线| 国产成人一区二区精品非洲| 亚洲国产日韩精品| 久久精品一区二区三区四区| 欧美亚洲日本一区| 国产精品一区二区三区乱码 | 欧美日韩在线免费视频| 国产成人在线免费观看| 亚洲大片在线观看| 中文字幕一区二区不卡| 精品奇米国产一区二区三区| 色久综合一二码| 波多野结衣中文一区| 久久精品国产**网站演员| 亚洲欧美欧美一区二区三区| wwwwxxxxx欧美| 这里是久久伊人| 91性感美女视频| 国产激情一区二区三区| 免费成人在线影院| 天堂va蜜桃一区二区三区| 亚洲卡通动漫在线| 中文av一区二区| 久久精品这里都是精品| 欧美哺乳videos| 欧美一区二区成人6969| 欧美日韩免费高清一区色橹橹| 91在线精品一区二区| av激情综合网| 波多野结衣在线一区| 成人小视频免费在线观看| 国产精品99久久久| 免费成人美女在线观看| 日韩国产一二三区| 午夜国产精品一区| 五月综合激情婷婷六月色窝| 一区二区三区精品| 亚洲制服丝袜一区| 一区二区三区四区蜜桃| 一区二区三区四区av| 亚洲欧美电影一区二区| 亚洲精品国产高清久久伦理二区| 国产精品超碰97尤物18| 国产精品国产三级国产专播品爱网 | 欧美亚洲国产一区二区三区va| 色综合天天性综合| 91视频免费播放| 97久久超碰国产精品电影| 色噜噜狠狠色综合欧洲selulu| 色94色欧美sute亚洲线路二 | 天堂va蜜桃一区二区三区漫画版| 亚洲成人激情综合网| 丝袜亚洲精品中文字幕一区| 亚洲专区一二三| 麻豆中文一区二区| 国产经典欧美精品| 99视频在线观看一区三区| 91丨porny丨在线| 欧美乱熟臀69xxxxxx| 91精品欧美久久久久久动漫| 精品免费一区二区三区| 国产精品视频一区二区三区不卡| 国产精品久久久久久一区二区三区| 国产精品萝li| 午夜精品一区二区三区免费视频| 天天射综合影视| 成人性视频免费网站| 色综合色综合色综合色综合色综合 | 亚洲午夜电影网| 欧美aaa在线| 成人91在线观看| 欧美色图第一页| 久久奇米777| 亚洲激情在线激情| 久久国产精品露脸对白| www.亚洲激情.com| 欧美日本视频在线| 中文字幕国产精品一区二区| 亚洲综合一区二区精品导航| 久久精品国产亚洲一区二区三区| 国产91精品入口| 欧美乱熟臀69xxxxxx| 国产精品三级av| 蜜臀va亚洲va欧美va天堂| 成人av免费在线播放| 欧美肥大bbwbbw高潮| 国产精品日韩成人| 久久精品二区亚洲w码| 色哟哟国产精品免费观看| 日韩情涩欧美日韩视频| 亚洲色图制服诱惑| 国产九九视频一区二区三区| 欧美午夜寂寞影院| 国产精品日日摸夜夜摸av| 日韩不卡免费视频| 色网站国产精品| 国产欧美日韩在线观看| 免费精品视频最新在线| 色综合天天性综合| 国产精品三级av| 国产九色sp调教91| 日韩欧美黄色影院| 午夜激情久久久| 欧美在线观看视频在线| 中文字幕二三区不卡| 国产一区二区伦理片| 91精品国产综合久久精品麻豆| 中文字幕一区二区三区视频 | 久久99国内精品| 欧美一区二区三区视频| 亚洲18影院在线观看| 色婷婷精品大在线视频 | 精品国产不卡一区二区三区| 日本怡春院一区二区| 欧美丰满一区二区免费视频| 一区二区三区免费在线观看| www.亚洲色图| 亚洲欧洲另类国产综合| av一二三不卡影片| 18欧美乱大交hd1984| 91日韩在线专区| 亚洲欧洲日本在线|