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

📄 gdth.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
#ifndef _GDTH_H#define _GDTH_H/* * Header file for the GDT ISA/EISA/PCI Disk Array Controller driver for Linux *  * gdth.h Copyright (C) 1995-99 ICP vortex Computersysteme GmbH, Achim Leubner * See gdth.c for further informations and  * below for supported controller types * * <achim@vortex.de> * * $Id: gdth.h,v 1.21 1999/03/26 09:12:24 achim Exp $ */#include <linux/version.h>#include <linux/types.h>#ifndef NULL#define NULL 0#endif#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif/* defines, macros *//* driver version */#define GDTH_VERSION_STR        "1.14"#define GDTH_VERSION            1#define GDTH_SUBVERSION         14/* protocol version */#define PROTOCOL_VERSION        1/* controller classes */#define GDT_ISA         0x01                    /* ISA controller */#define GDT_EISA        0x02                    /* EISA controller */#define GDT_PCI         0x03                    /* PCI controller */#define GDT_PCINEW      0x04                    /* new PCI controller */#define GDT_PCIMPR      0x05                    /* PCI MPR controller *//* GDT_EISA, controller subtypes EISA */#define GDT3_ID         0x0130941c              /* GDT3000/3020 */#define GDT3A_ID        0x0230941c              /* GDT3000A/3020A/3050A */#define GDT3B_ID        0x0330941c              /* GDT3000B/3010A *//* GDT_ISA */#define GDT2_ID         0x0120941c              /* GDT2000/2020 *//* vendor ID, device IDs (PCI) *//* these defines should already exist in <linux/pci.h> */#ifndef PCI_VENDOR_ID_VORTEX#define PCI_VENDOR_ID_VORTEX            0x1119  /* PCI controller vendor ID */#endif#ifndef PCI_DEVICE_ID_VORTEX_GDT60x0/* GDT_PCI */#define PCI_DEVICE_ID_VORTEX_GDT60x0    0       /* GDT6000/6020/6050 */#define PCI_DEVICE_ID_VORTEX_GDT6000B   1       /* GDT6000B/6010 *//* GDT_PCINEW */#define PCI_DEVICE_ID_VORTEX_GDT6x10    2       /* GDT6110/6510 */#define PCI_DEVICE_ID_VORTEX_GDT6x20    3       /* GDT6120/6520 */#define PCI_DEVICE_ID_VORTEX_GDT6530    4       /* GDT6530 */#define PCI_DEVICE_ID_VORTEX_GDT6550    5       /* GDT6550 *//* GDT_PCINEW, wide/ultra SCSI controllers */#define PCI_DEVICE_ID_VORTEX_GDT6x17    6       /* GDT6117/6517 */#define PCI_DEVICE_ID_VORTEX_GDT6x27    7       /* GDT6127/6527 */#define PCI_DEVICE_ID_VORTEX_GDT6537    8       /* GDT6537 */#define PCI_DEVICE_ID_VORTEX_GDT6557    9       /* GDT6557/6557-ECC *//* GDT_PCINEW, wide SCSI controllers */#define PCI_DEVICE_ID_VORTEX_GDT6x15    10      /* GDT6115/6515 */#define PCI_DEVICE_ID_VORTEX_GDT6x25    11      /* GDT6125/6525 */#define PCI_DEVICE_ID_VORTEX_GDT6535    12      /* GDT6535 */#define PCI_DEVICE_ID_VORTEX_GDT6555    13      /* GDT6555/6555-ECC */#endif#ifndef PCI_DEVICE_ID_VORTEX_GDT6x17RP/* GDT_MPR, RP series, wide/ultra SCSI */#define PCI_DEVICE_ID_VORTEX_GDT6x17RP  0x100   /* GDT6117RP/GDT6517RP */#define PCI_DEVICE_ID_VORTEX_GDT6x27RP  0x101   /* GDT6127RP/GDT6527RP */#define PCI_DEVICE_ID_VORTEX_GDT6537RP  0x102   /* GDT6537RP */#define PCI_DEVICE_ID_VORTEX_GDT6557RP  0x103   /* GDT6557RP *//* GDT_MPR, RP series, narrow/ultra SCSI */#define PCI_DEVICE_ID_VORTEX_GDT6x11RP  0x104   /* GDT6111RP/GDT6511RP */#define PCI_DEVICE_ID_VORTEX_GDT6x21RP  0x105   /* GDT6121RP/GDT6521RP */#endif#ifndef PCI_DEVICE_ID_VORTEX_GDT6x17RD/* GDT_MPR, RD series, wide/ultra SCSI */#define PCI_DEVICE_ID_VORTEX_GDT6x17RD  0x110   /* GDT6117RD/GDT6517RD */#define PCI_DEVICE_ID_VORTEX_GDT6x27RD  0x111   /* GDT6127RD/GDT6527RD */#define PCI_DEVICE_ID_VORTEX_GDT6537RD  0x112   /* GDT6537RD */#define PCI_DEVICE_ID_VORTEX_GDT6557RD  0x113   /* GDT6557RD *//* GDT_MPR, RD series, narrow/ultra SCSI */#define PCI_DEVICE_ID_VORTEX_GDT6x11RD  0x114   /* GDT6111RD/GDT6511RD */#define PCI_DEVICE_ID_VORTEX_GDT6x21RD  0x115   /* GDT6121RD/GDT6521RD *//* GDT_MPR, RD series, wide/ultra2 SCSI */#define PCI_DEVICE_ID_VORTEX_GDT6x18RD  0x118   /* GDT6118RD/GDT6518RD/                                                   GDT6618RD */#define PCI_DEVICE_ID_VORTEX_GDT6x28RD  0x119   /* GDT6128RD/GDT6528RD/                                                   GDT6628RD */#define PCI_DEVICE_ID_VORTEX_GDT6x38RD  0x11A   /* GDT6538RD/GDT6638RD */#define PCI_DEVICE_ID_VORTEX_GDT6x58RD  0x11B   /* GDT6558RD/GDT6658RD *//* GDT_MPR, RN series (64-bit PCI), wide/ultra2 SCSI */#define PCI_DEVICE_ID_VORTEX_GDT7x18RN  0x168   /* GDT7118RN/GDT7518RN/                                                   GDT7618RN */#define PCI_DEVICE_ID_VORTEX_GDT7x28RN  0x169   /* GDT7128RN/GDT7528RN/                                                   GDT7628RN */#define PCI_DEVICE_ID_VORTEX_GDT7x38RN  0x16A   /* GDT7538RN/GDT7638RN */#define PCI_DEVICE_ID_VORTEX_GDT7x58RN  0x16B   /* GDT7558RN/GDT7658RN */#endif#ifndef PCI_DEVICE_ID_VORTEX_GDT6x19RD/* GDT_MPR, RD series, Fibre Channel */#define PCI_DEVICE_ID_VORTEX_GDT6x19RD  0x210   /* GDT6519RD/GDT6619RD */#define PCI_DEVICE_ID_VORTEX_GDT6x29RD  0x211   /* GDT6529RD/GDT6629RD *//* GDT_MPR, RN series (64-bit PCI), Fibre Channel */#define PCI_DEVICE_ID_VORTEX_GDT7x19RN  0x260   /* GDT7519RN/GDT7619RN */#define PCI_DEVICE_ID_VORTEX_GDT7x29RN  0x261   /* GDT7529RN/GDT7629RN */#endif#ifndef PCI_DEVICE_ID_VORTEX_GDTMAXRP/* GDT_MPR, last device ID */#define PCI_DEVICE_ID_VORTEX_GDTMAXRP   0x2ff   #endif/* limits */#define GDTH_SCRATCH    PAGE_SIZE                    /* 4KB scratch buffer */#define GDTH_SCRATCH_ORD 0                      /* order 0 means 1 page */#define GDTH_MAXCMDS    124#define GDTH_MAXC_P_L   16                      /* max. cmds per lun */#define GDTH_MAX_RAW    2                       /* max. cmds per raw device */#define MAXOFFSETS      128#define MAXHA           16#define MAXID           127#define MAXLUN          8#define MAXBUS          6#define MAX_HDRIVES     35                      /* max. host drive count */#define MAX_EVENTS      100                     /* event buffer count */#define MAX_RES_ARGS    40                      /* device reservation,                                                    must be a multiple of 4 */#define MAXCYLS         1024#define HEADS           64#define SECS            32                      /* mapping 64*32 */#define MEDHEADS        127#define MEDSECS         63                      /* mapping 127*63 */#define BIGHEADS        255#define BIGSECS         63                      /* mapping 255*63 *//* special command ptr. */#define UNUSED_CMND     ((Scsi_Cmnd *)-1)#define INTERNAL_CMND   ((Scsi_Cmnd *)-2)#define SCREEN_CMND     ((Scsi_Cmnd *)-3)#define SPECIAL_SCP(p)  (p==UNUSED_CMND || p==INTERNAL_CMND || p==SCREEN_CMND)/* controller services */#define SCSIRAWSERVICE  3#define CACHESERVICE    9#define SCREENSERVICE   11/* screenservice defines */#define MSG_INV_HANDLE  -1                      /* special message handle */#define MSGLEN          16                      /* size of message text */#define MSG_SIZE        34                      /* size of message structure */#define MSG_REQUEST     0                       /* async. event: message *//* cacheservice defines */#define SECTOR_SIZE     0x200                   /* always 512 bytes per sec. *//* DPMEM constants */#define DPMEM_MAGIC     0xC0FFEE11#define IC_HEADER_BYTES 48#define IC_QUEUE_BYTES  4#define DPMEM_COMMAND_OFFSET    IC_HEADER_BYTES+IC_QUEUE_BYTES*MAXOFFSETS/* cache/raw service commands */#define GDT_INIT        0                       /* service initialization */#define GDT_READ        1                       /* read command */#define GDT_WRITE       2                       /* write command */#define GDT_INFO        3                       /* information about devices */#define GDT_FLUSH       4                       /* flush dirty cache buffers */#define GDT_IOCTL       5                       /* ioctl command */#define GDT_DEVTYPE     9                       /* additional information */#define GDT_MOUNT       10                      /* mount cache device */#define GDT_UNMOUNT     11                      /* unmount cache device */#define GDT_SET_FEAT    12                      /* set feat. (scatter/gather) */#define GDT_GET_FEAT    13                      /* get features */#define GDT_WRITE_THR   16                      /* write through */#define GDT_READ_THR    17                      /* read through */#define GDT_EXT_INFO    18                      /* extended info */#define GDT_RESET       19                      /* controller reset *//* additional raw service commands */#define GDT_RESERVE     14                      /* reserve dev. to raw serv. */#define GDT_RELEASE     15                      /* release device */#define GDT_RESERVE_ALL 16                      /* reserve all devices */#define GDT_RELEASE_ALL 17                      /* release all devices */#define GDT_RESET_BUS   18                      /* reset bus */#define GDT_SCAN_START  19                      /* start device scan */#define GDT_SCAN_END    20                      /* stop device scan */  /* IOCTL command defines */#define SCSI_DR_INFO    0x00                    /* SCSI drive info */                   #define SCSI_CHAN_CNT   0x05                    /* SCSI channel count */   #define SCSI_DR_LIST    0x06                    /* SCSI drive list */#define SCSI_DEF_CNT    0x15                    /* grown/primary defects */#define DSK_STATISTICS  0x4b                    /* SCSI disk statistics */#define IOCHAN_DESC     0x5d                    /* description of IO channel */#define IOCHAN_RAW_DESC 0x5e                    /* description of raw IO channel */#define L_CTRL_PATTERN  0x20000000L             /* SCSI IOCTL mask */#define ARRAY_INFO      0x12                    /* array drive info */#define ARRAY_DRV_LIST  0x0f                    /* array drive list */#define LA_CTRL_PATTERN 0x10000000L             /* array IOCTL mask */#define CACHE_DRV_CNT   0x01                    /* cache drive count */#define CACHE_DRV_LIST  0x02                    /* cache drive list */#define CACHE_INFO      0x04                    /* cache info */#define CACHE_CONFIG    0x05                    /* cache configuration */#define CACHE_DRV_INFO  0x07                    /* cache drive info */#define BOARD_FEATURES  0x15                    /* controller features */#define BOARD_INFO      0x28                    /* controller info */#define HOST_GET        0x10001L                /* get host drive list */#define IO_CHANNEL      0x00020000L             /* default IO channel */#define INVALID_CHANNEL 0x0000ffffL             /* invalid channel *//* IOCTLs */#define GDTIOCTL_MASK       ('J'<<8)#define GDTIOCTL_GENERAL    (GDTIOCTL_MASK | 0) /* general IOCTL */#define GDTIOCTL_DRVERS     (GDTIOCTL_MASK | 1) /* get driver version */#define GDTIOCTL_CTRTYPE    (GDTIOCTL_MASK | 2) /* get controller type */#define GDTIOCTL_CTRCNT     (GDTIOCTL_MASK | 5) /* get controller count */#define GDTIOCTL_LOCKDRV    (GDTIOCTL_MASK | 6) /* lock host drive */#define GDTIOCTL_LOCKCHN    (GDTIOCTL_MASK | 7) /* lock channel */#define GDTIOCTL_EVENT      (GDTIOCTL_MASK | 8) /* read controller events *//* service errors */#define S_OK            1                       /* no error */#define S_BSY           7                       /* controller busy */#define S_RAW_SCSI      12                      /* raw serv.: target error */#define S_RAW_ILL       0xff                    /* raw serv.: illegal *//* timeout values */#define INIT_RETRIES    100000                  /* 100000 * 1ms = 100s */#define INIT_TIMEOUT    100000                  /* 100000 * 1ms = 100s */#define POLL_TIMEOUT    10000                   /* 10000 * 1ms = 10s *//* priorities */#define DEFAULT_PRI     0x20#define IOCTL_PRI       0x10#define HIGH_PRI        0x08/* data directions */

⌨️ 快捷键说明

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