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

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

?? libscsi.h

?? 讀取SCSI磁盤陣列信息的源代碼,支持設備:mega scsi device
?? H
?? 第 1 頁 / 共 3 頁
字號:
/* *Mega SCSI IOCTL Parameter and Structure Definition */#ifndef _LIB_MEGA_SCSI_H_#define _LIB_MEGA_SCSI_H_#include <errno.h>#include <fcntl.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <sys/uio.h>#include <sys/utsname.h>#include "m_defs.h"#include "scsiio.h"#include "scsi_all.h"#include "scsi_disk.h"#include "raid.h"/* * Mega SCSI Low Level Parameter and Structure Definition *//* * Commands and states for mailbox based controllers */#define FC_NEW_CONFIG		0xA1#define NC_SUBOP_PRODUCT_INFO	0x0E#define NC_SUBOP_ENQUIRY3	0x0F#define ENQ3_GET_SOLICITED_FULL	0x02#define OP_DCMD_READ_CONFIG	0x04#define NEW_READ_CONFIG_8LD	0x67#define READ_CONFIG_8LD		0x07/* * Command for random deletion of logical drives */#define	FC_DEL_LOGDRV		0xA4/* * BIOS commands */#define IS_BIOS_ENABLED		0x62#define GET_BIOS		0x01#define CHNL_CLASS		0xA9#define GET_CHNL_CLASS		0x00#define SET_CHNL_CLASS		0x01#define CH_RAID			0x01#define CH_SCSI			0x00#define BIOS_PVT_DATA		0x40#define GET_BIOS_PVT_DATA	0x00/* * Module battery status */#define BATTERY_MODULE_MISSING		0x01#define BATTERY_LOW_VOLTAGE		0x02#define BATTERY_TEMP_HIGH		0x04#define BATTERY_PACK_MISSING		0x08#define BATTERY_CHARGE_MASK		0x30#define BATTERY_CHARGE_DONE		0x00#define BATTERY_CHARGE_INPROG		0x10#define BATTERY_CHARGE_FAIL		0x20#define BATTERY_CYCLES_EXCEEDED		0x40/* * Physical drive states. */#define PDRV_UNCNF	0#define PDRV_ONLINE	3#define PDRV_FAILED	4#define PDRV_RBLD	5#define PDRV_HOTSPARE	6/* * Raid logical drive states. */#define RDRV_OFFLINE	0#define RDRV_DEGRADED	1#define RDRV_OPTIMAL	2#define RDRV_DELETED	3/* * Read, write and cache policies */#define NO_READ_AHEAD		0#define READ_AHEAD		1#define ADAP_READ_AHEAD		2#define WRMODE_WRITE_THRU	0#define WRMODE_WRITE_BACK	1#define CACHED_IO		0#define DIRECT_IO		1#define MAX_LOGICAL_DRIVES_8LD		8#define MAX_LOGICAL_DRIVES_40LD		40#define FC_MAX_PHYSICAL_DEVICES		256#define MAX_MBOX_CHANNELS		5#define MAX_MBOX_TARGET			15#define MBOX_MAX_PHYSICAL_DRIVES	MAX_MBOX_CHANNELS*MAX_MBOX_TARGET#define MAX_ROW_SIZE_40LD		32#define MAX_ROW_SIZE_8LD		8#define SPAN_DEPTH_8_SPANS		8#define SPAN_DEPTH_4_SPANS		4#define MAX_REQ_SENSE_LEN		0x20#define	BIG_MAX_PDRIVES	(256)#define	BIG_MAX_LDRIVES	40#define	BIG_MAX_SPANDEPTH	8#define	BIG_MAX_DEVDEPTH	32/** * struct mbox_t - Driver and f/w handshake structure. * @cmd		: firmware command * @cmdid	: command id * @numsectors	: number of sectors to be transferred * @lba		: Logical Block Address on LD * @xferaddr	: DMA address for data transfer * @logdrv	: logical drive number * @numsge	: number of scatter gather elements in sg list * @resvd	: reserved * @busy	: f/w busy, must wait to issue more commands. * @numstatus	: number of commands completed. * @status	: status of the commands completed * @completed	: array of completed command ids. * @poll	: poll and ack sequence * @ack		: poll and ack sequence * * The central handshake structure between the driver and the firmware. This * structure must be allocated by the driver and aligned at 8-byte boundary. */#define MBOX_MAX_FIRMWARE_STATUS	46typedef struct {	unsigned char		cmd;	unsigned char		cmdid;	unsigned short	numsectors;	unsigned int	lba;	unsigned int	xferaddr;	unsigned char		logdrv;	unsigned char		numsge;	unsigned char		resvd;	unsigned char		busy;	unsigned char		numstatus;	unsigned char		status;	unsigned char		completed[MBOX_MAX_FIRMWARE_STATUS];	unsigned char		poll;	unsigned char		ack;} __attribute__ ((packed)) mbox_t;/** * mbox64_t - 64-bit extension for the mailbox * @segment_lo	: the low 32-bits of the address of the scatter-gather list * @segment_hi	: the upper 32-bits of the address of the scatter-gather list * @mbox	: 32-bit mailbox, whose xferadder field must be set to *		0xFFFFFFFF * * This is the extension of the 32-bit mailbox to be able to perform DMA * beyond 4GB address range. */typedef struct {	unsigned int	xferaddr_lo;	unsigned int	xferaddr_hi;	mbox_t		mbox32;} __attribute__ ((packed)) mbox64_t;/* * mailbox structure used for internal commands */typedef struct {	unsigned char	cmd;	unsigned char	cmdid;	unsigned char	opcode;	unsigned char	subopcode;	unsigned int	lba;	unsigned int	xferaddr;	unsigned char	logdrv;	unsigned char	rsvd[3];	unsigned char	numstatus;	unsigned char	status;} __attribute__ ((packed)) int_mbox_t;/** * mraid_passthru_t - passthru structure to issue commands to physical devices * @timeout		: command timeout, 0=6sec, 1=60sec, 2=10min, 3=3hr * @ars			: set if ARS required after check condition * @islogical		: set if command meant for logical devices * @logdrv		: logical drive number if command for LD * @channel		: Channel on which physical device is located * @target		: SCSI target of the device * @queuetag		: unused * @queueaction		: unused * @cdb			: SCSI CDB * @cdblen		: length of the CDB * @reqsenselen		: amount of request sense data to be returned * @reqsensearea	: Sense information buffer * @numsge		: number of scatter-gather elements in the sg list * @scsistatus		: SCSI status of the command completed. * @dataxferaddr	: DMA data transfer address * @dataxferlen		: amount of the data to be transferred. */typedef struct {	unsigned char		timeout		:3;	unsigned char		ars		:1;	unsigned char		reserved	:3;	unsigned char		islogical	:1;	unsigned char		logdrv;	unsigned char		channel;	unsigned char		target;	unsigned char		queuetag;	unsigned char		queueaction;	unsigned char		cdb[10];	unsigned char		cdblen;	unsigned char		reqsenselen;	unsigned char		reqsensearea[MAX_REQ_SENSE_LEN];	unsigned char		numsge;	unsigned char		scsistatus;	unsigned int	dataxferaddr;	unsigned int	dataxferlen;} __attribute__ ((packed)) mraid_passthru_t;typedef struct {	unsigned int		dataxferaddr_lo;	unsigned int		dataxferaddr_hi;	mraid_passthru_t	pthruint32_t;} __attribute__ ((packed)) megascsi_passthru64_t;/** * mraid_epassthru_t - passthru structure to issue commands to physical devices * @timeout		: command timeout, 0=6sec, 1=60sec, 2=10min, 3=3hr * @ars			: set if ARS required after check condition * @rsvd1		: reserved field * @cd_rom		: (?) * @rsvd2		: reserved field * @islogical		: set if command meant for logical devices * @logdrv		: logical drive number if command for LD * @channel		: Channel on which physical device is located * @target		: SCSI target of the device * @queuetag		: unused * @queueaction		: unused * @cdblen		: length of the CDB * @rsvd3		: reserved field * @cdb			: SCSI CDB * @numsge		: number of scatter-gather elements in the sg list * @status		: SCSI status of the command completed. * @reqsenselen		: amount of request sense data to be returned * @reqsensearea	: Sense information buffer * @rsvd4		: reserved field * @dataxferaddr	: DMA data transfer address * @dataxferlen		: amount of the data to be transferred. */typedef struct {	unsigned char		timeout		:3;	unsigned char		ars		:1;	unsigned char		rsvd1		:1;	unsigned char		cd_rom		:1;	unsigned char		rsvd2		:1;	unsigned char		islogical	:1;	unsigned char		logdrv;	unsigned char		channel;	unsigned char		target;	unsigned char		queuetag;	unsigned char		queueaction;	unsigned char		cdblen;	unsigned char		rsvd3;	unsigned char		cdb[16];	unsigned char		numsge;	unsigned char		status;	unsigned char		reqsenselen;	unsigned char		reqsensearea[MAX_REQ_SENSE_LEN];	unsigned char		rsvd4;	unsigned int	dataxferaddr;	unsigned int	dataxferlen;} __attribute__ ((packed)) mraid_epassthru_t;/** * mraid_pinfo_t - product info, static information about the controller * @data_size		: current size in bytes (not including resvd) * @config_signature	: Current value is 0x00282008 * @fw_version		: Firmware version * @bios_version	: version of the BIOS * @product_name	: Name given to the controller * @max_commands	: Maximum concurrent commands supported * @nchannels		: Number of SCSI Channels detected * @fc_loop_present	: Number of Fibre Loops detected * @mem_type		: EDO, FPM, SDRAM etc * @signature		: * @dram_size		: In terms of MB * @subsysid		: device PCI subsystem ID * @subsysvid		: device PCI subsystem vendor ID * @notify_counters	: * @pad1k		: 135 + 889 resvd = 1024 total size * * This structures holds the information about the controller which is not * expected to change dynamically. * * The current value of config signature is 0x00282008: * 0x28 = MAX_LOGICAL_DRIVES, * 0x20 = Number of stripes and * 0x08 = Number of spans */typedef struct {	unsigned int	data_size;	unsigned int	config_signature;	unsigned char		fw_version[16];	unsigned char		bios_version[16];	unsigned char		product_name[80];	unsigned char		max_commands;	unsigned char		nchannels;	unsigned char		fc_loop_present;	unsigned char		mem_type;	unsigned int	signature;	unsigned short	dram_size;	unsigned short	subsysid;	unsigned short	subsysvid;	unsigned char		notify_counters;	unsigned char		pad1k[889];} __attribute__ ((packed)) mraid_pinfo_t;/** * mraid_notify_t - the notification structure * @global_counter		: Any change increments this counter * @param_counter		: Indicates any params changed * @param_id			: Param modified - defined below * @param_val			: New val of last param modified * @write_config_counter	: write config occurred * @write_config_rsvd		: * @ldrv_op_counter		: Indicates ldrv op started/completed * @ldrv_opid			: ldrv num * @ldrv_opcmd			: ldrv operation - defined below * @ldrv_opstatus		: status of the operation * @ldrv_state_counter		: Indicates change of ldrv state * @ldrv_state_id		: ldrv num * @ldrv_state_new		: New state * @ldrv_state_old		: old state * @pdrv_state_counter		: Indicates change of ldrv state * @pdrv_state_id		: pdrv id * @pdrv_state_new		: New state * @pdrv_state_old		: old state * @pdrv_fmt_counter		: Indicates pdrv format started/over * @pdrv_fmt_id			: pdrv id * @pdrv_fmt_val		: format started/over * @pdrv_fmt_rsvd		: * @targ_xfer_counter		: Indicates SCSI-2 Xfer rate change * @targ_xfer_id		: pdrv Id * @targ_xfer_val		: new Xfer params of last pdrv * @targ_xfer_rsvd		: * @fcloop_id_chg_counter	: Indicates loopid changed * @fcloopid_pdrvid		: pdrv id * @fcloop_id0			: loopid on fc loop 0 * @fcloop_id1			: loopid on fc loop 1 * @fcloop_state_counter	: Indicates loop state changed * @fcloop_state0		: state of fc loop 0 * @fcloop_state1		: state of fc loop 1 * @fcloop_state_rsvd		: */typedef struct {	unsigned int	global_counter;	unsigned char		param_counter;	unsigned char		param_id;	unsigned short	param_val;	unsigned char		write_config_counter;	unsigned char		write_config_rsvd[3];	unsigned char		ldrv_op_counter;	unsigned char		ldrv_opid;	unsigned char		ldrv_opcmd;	unsigned char		ldrv_opstatus;	unsigned char		ldrv_state_counter;	unsigned char		ldrv_state_id;	unsigned char		ldrv_state_new;	unsigned char		ldrv_state_old;	unsigned char		pdrv_state_counter;	unsigned char		pdrv_state_id;	unsigned char		pdrv_state_new;	unsigned char		pdrv_state_old;	unsigned char		pdrv_fmt_counter;	unsigned char		pdrv_fmt_id;	unsigned char		pdrv_fmt_val;	unsigned char		pdrv_fmt_rsvd;	unsigned char		targ_xfer_counter;	unsigned char		targ_xfer_id;	unsigned char		targ_xfer_val;	unsigned char		targ_xfer_rsvd;	unsigned char		fcloop_id_chg_counter;	unsigned char		fcloopid_pdrvid;	unsigned char		fcloop_id0;	unsigned char		fcloop_id1;	unsigned char		fcloop_state_counter;	unsigned char		fcloop_state0;	unsigned char		fcloop_state1;	unsigned char		fcloop_state_rsvd;} __attribute__ ((packed)) mraid_notify_t;/** * mraid_inquiry3_t - enquiry for device information * * @data_size		: current size in bytes (not including resvd) * @notify		: * @notify_rsvd		: * @rebuild_rate	: rebuild rate (0% - 100%) * @cache_flush_int	: cache flush interval in seconds * @sense_alert		: * @drive_insert_count	: drive insertion count * @battery_status	: * @num_ldrv		: no. of Log Drives configured * @recon_state		: state of reconstruct * @ldrv_op_status	: logdrv Status * @ldrv_size		: size of each log drv * @ldrv_prop		: * @ldrv_state		: state of log drives * @pdrv_state		: state of phys drvs. * @pdrv_format		: * @targ_xfer		: phys device transfer rate * @pad1k		: 761 + 263reserved = 1024 bytes total size */#define MAX_NOTIFY_SIZE		0x80#define CUR_NOTIFY_SIZE		sizeof(mraid_notify_t)typedef struct {	unsigned int	data_size;	mraid_notify_t	notify;	unsigned char		notify_rsvd[MAX_NOTIFY_SIZE - CUR_NOTIFY_SIZE];	unsigned char		rebuild_rate;	unsigned char		cache_flush_int;	unsigned char		sense_alert;	unsigned char		drive_insert_count;	unsigned char		battery_status;	unsigned char		num_ldrv;	unsigned char		recon_state[MAX_LOGICAL_DRIVES_40LD / 8];	unsigned short	ldrv_op_status[MAX_LOGICAL_DRIVES_40LD / 8];	unsigned int	ldrv_size[MAX_LOGICAL_DRIVES_40LD];	unsigned char		ldrv_prop[MAX_LOGICAL_DRIVES_40LD];	unsigned char		ldrv_state[MAX_LOGICAL_DRIVES_40LD];	unsigned char		pdrv_state[FC_MAX_PHYSICAL_DEVICES];	unsigned short	pdrv_format[FC_MAX_PHYSICAL_DEVICES / 16];	unsigned char		targ_xfer[80];	unsigned char		pad1k[263];} __attribute__ ((packed)) mraid_inquiry3_t;/** * mraid_adapinfo_t - information about the adapter * @max_commands		: max concurrent commands supported * @rebuild_rate		: rebuild rate - 0% thru 100% * @max_targ_per_chan		: max targ per channel * @nchannels			: number of channels on HBA * @fw_version			: firmware version * @age_of_flash		: number of times FW has been flashed * @chip_set_value		: contents of 0xC0000832 * @dram_size			: in MB * @cache_flush_interval	: in seconds * @bios_version		: * @board_type			: * @sense_alert			: * @write_config_count		: increase with every configuration change * @drive_inserted_count	: increase with every drive inserted * @inserted_drive		: channel:Id of inserted drive * @battery_status		: bit 0: battery module missing *				bit 1: VBAD *				bit 2: temprature high *				bit 3: battery pack missing *				bit 4,5: *					00 - charge complete *					01 - fast charge in progress *					10 - fast charge fail *					11 - undefined *				bit 6: counter > 1000 *				bit 7: Undefined * @dec_fault_bus_info		: */typedef struct {	unsigned char		max_commands;	unsigned char		rebuild_rate;	unsigned char		max_targ_per_chan;	unsigned char		nchannels;	unsigned char		fw_version[4];	unsigned short	age_of_flash;	unsigned char		chip_set_value;	unsigned char		dram_size;	unsigned char		cache_flush_interval;	unsigned char		bios_version[4];	unsigned char		board_type;	unsigned char		sense_alert;	unsigned char		write_config_count;	unsigned char		battery_status;	unsigned char		dec_fault_bus_info;} __attribute__ ((packed)) mraid_adapinfo_t;/** * mraid_ldrv_info_t - information about the logical drives

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线不卡一区二区| 一区二区三区四区国产精品| 亚洲欧美偷拍三级| 国产精品亚洲午夜一区二区三区| 欧美日免费三级在线| 中文字幕精品—区二区四季| 久久精品国产久精国产爱| 欧美综合色免费| 亚洲欧美综合网| 国产成人免费视频网站| 2022国产精品视频| 免费不卡在线视频| 91麻豆精品国产91久久久使用方法| 中文字幕一区二区三| 国产一区二区三区免费观看| 欧美一卡二卡三卡| 日本视频一区二区三区| 欧美午夜影院一区| 一区二区三区视频在线观看| 99麻豆久久久国产精品免费| 国产农村妇女毛片精品久久麻豆| 精彩视频一区二区| 精品国产精品一区二区夜夜嗨| 午夜欧美2019年伦理 | 精品一区二区免费| 91精品国产黑色紧身裤美女| 亚洲成av人片一区二区| 欧洲一区二区三区在线| 亚洲国产日韩一级| 欧美欧美欧美欧美| 日韩国产一区二| 欧美一区二区三区在线电影| 蜜桃视频一区二区三区在线观看 | 国产亚洲精品aa| 国产精品自拍在线| 亚洲国产精品二十页| 国产成人精品网址| 国产精品欧美一级免费| 91一区二区在线| 一区二区三区四区激情| 欧美日韩国产123区| 玖玖九九国产精品| 久久久国产一区二区三区四区小说| 国产一区二区精品久久| 国产精品三级久久久久三级| av一二三不卡影片| 亚洲综合免费观看高清完整版| 欧美在线免费观看亚洲| 麻豆久久一区二区| 中文字幕精品一区二区精品绿巨人 | 久久精品欧美日韩精品| 99在线视频精品| 午夜精品视频在线观看| 日韩欧美中文字幕一区| 国产成人精品影院| 亚洲另类一区二区| 精品日韩在线观看| eeuss影院一区二区三区| 一卡二卡三卡日韩欧美| 日韩你懂的在线观看| av激情成人网| 奇米四色…亚洲| 亚洲欧美在线视频观看| 91精品国产免费| 99r国产精品| 免费观看日韩av| 亚洲色图在线播放| 欧美一区二区在线不卡| av激情综合网| 理论电影国产精品| 一区二区三区精品视频| 精品国产乱码久久久久久影片| av在线不卡免费看| 九九视频精品免费| 亚洲成人av一区二区| 国产欧美一区二区精品久导航| 欧美男同性恋视频网站| 99re这里都是精品| 国产在线精品视频| 日日欢夜夜爽一区| 亚洲视频免费观看| 国产亚洲午夜高清国产拍精品| 欧美群妇大交群中文字幕| 成人高清伦理免费影院在线观看| 免费看精品久久片| 亚洲成av人综合在线观看| 国产精品卡一卡二卡三| 久久久精品黄色| 欧美电视剧免费观看| 欧美日韩一区在线| 一本到不卡精品视频在线观看 | 国产精品素人一区二区| 91精品国产一区二区三区香蕉| 99国产精品视频免费观看| 国产精品一区在线| 美女网站色91| 日本成人在线电影网| 亚洲一卡二卡三卡四卡| 亚洲天堂2016| 亚洲色图欧美在线| 国产精品欧美一区喷水| 国产精品三级电影| 国产日韩欧美精品综合| 国产日韩欧美在线一区| 国产日韩高清在线| 国产亲近乱来精品视频| 久久精品在这里| 国产欧美精品一区| 国产三级一区二区| 欧美国产精品一区| 亚洲天堂精品在线观看| 亚洲日本韩国一区| 一区二区三区中文在线| 一区二区三区成人在线视频| 亚洲视频狠狠干| 一区二区免费看| 午夜精品福利视频网站| 日韩中文字幕区一区有砖一区| 亚洲图片欧美综合| 秋霞成人午夜伦在线观看| 日本午夜一区二区| 国产一区二区三区最好精华液| 黄网站免费久久| 成人av在线资源网| 欧美性猛片aaaaaaa做受| 欧美精品vⅰdeose4hd| 欧美成人video| 国产精品系列在线| 一区二区高清免费观看影视大全| 婷婷久久综合九色国产成人| 裸体一区二区三区| 国产·精品毛片| 在线观看av一区二区| 日韩欧美高清一区| 国产精品久久久久精k8| 亚洲一区二区三区三| 久久精品理论片| 波多野结衣视频一区| 欧美午夜精品久久久久久超碰| 日韩一区二区三区av| 综合久久久久综合| 蜜臀久久久久久久| 国产91综合一区在线观看| 日本道色综合久久| 日韩免费一区二区三区在线播放| 国产日韩在线不卡| 日韩精品成人一区二区在线| 成人一区在线看| 欧美日韩夫妻久久| 国产精品素人一区二区| 日本欧美大码aⅴ在线播放| 懂色一区二区三区免费观看| 欧美日韩一区国产| 欧美激情一区不卡| 日韩和欧美一区二区三区| 成人免费高清在线观看| 日韩三级中文字幕| 亚洲男同性视频| 国产成人免费在线| 欧美一区二区三区公司| 亚洲欧美影音先锋| 国产精品99久| 日韩片之四级片| 亚洲国产综合色| av毛片久久久久**hd| 久久综合色鬼综合色| 亚洲一二三级电影| 成人国产精品免费观看| 精品国产乱码久久| 日本欧美久久久久免费播放网| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美v国产在线一区二区三区| 亚洲午夜国产一区99re久久| 国产69精品一区二区亚洲孕妇| 日韩欧美亚洲国产另类| 亚洲成人一区二区在线观看| 99久久精品免费看| 国产精品全国免费观看高清 | 国产精品香蕉一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 日本欧美加勒比视频| 欧美日韩综合不卡| 亚洲黄色小说网站| 99精品热视频| 国产精品白丝在线| 成人免费精品视频| 日本一区二区视频在线| 国产一区二区三区久久久 | 国产在线乱码一区二区三区| 欧美一区午夜精品| 青青草97国产精品免费观看无弹窗版| 91年精品国产| 亚洲欧美日韩国产成人精品影院| 成人黄色a**站在线观看| 国产精品美女久久久久久久久久久| 国产在线精品免费av| 国产日韩亚洲欧美综合| 不卡欧美aaaaa| 中文字幕日韩一区二区| 色哦色哦哦色天天综合|