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

📄 iscsi_client.h

📁 一个iSCSI协议实现源代码
💻 H
字号:
/*  *  $Id: iscsi_client.h,v 1.5 2001/04/21 04:07:01 mbrown Exp $ * *  iscsi_client.h - exports definitions in iscsi_client.c *  Copyright (C) 2001 Michael F. Brown (mbrown@cs.uml.edu) *  *  Changes : * *  $Log: iscsi_client.h,v $ *  Revision 1.5  2001/04/21 04:07:01  mbrown *  more bug fixing, mount readonly works, use the new DISK file, it *  contains a valid ext2 partition * *  Revision 1.4  2001/04/11 20:09:35  mbrown *  IT WORKS!!!!!!  previous bug was a missing proc_name entry * *  Revision 1.3  2001/04/03 09:44:58  mbrown *  iscsi.o and iscsi_client.o now successfully compile. * *  Revision 1.2  2001/03/12 10:49:31  mbrown *  iscsi_client is now basically fully implemented minus proper *  /proc communication and compilation fixes.  This is going *  to be put aside for now. * *  Revision 1.1  2001/03/04 10:24:43  mbrown *  initial revision.  Doesn't compile but source here might be *  useful for Mike and Josh. * * * *  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. * */#ifndef _ISCSI_CLIENT_H#define _ISCSI_CLIENT_H#if !defined(LINUX_VERSION_CODE)#include <linux/version.h>#endif#ifndef LinuxVersionCode#define LinuxVersionCode(v, p, s) (((v)<<16)+((p)<<8)+(s))#endif#include <linux/types.h>#include <linux/kdev_t.h>#include "scsi.h"#include "hosts.h"#define ISCSI_CLIENT_SCSI_ID  7/*#define ISCSI_CLIENT_SG_TABLE_SIZE  SG_ALL*/#define ISCSI_CLIENT_SG_TABLE_SIZE  SG_NONEint iscsi_client_proc_info(char *, char **, off_t, int, int, int);const char *iscsi_client_info(struct Scsi_Host *SChost);int iscsi_client_detect(Scsi_Host_Template *);int iscsi_client_command(Scsi_Cmnd * SCpnt);int iscsi_client_queuecommand(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *));int iscsi_client_abort(Scsi_Cmnd * SCpnt);int iscsi_client_reset(Scsi_Cmnd * SCpnt, unsigned int flags);int iscsi_client_bios_param(Disk * disk, kdev_t dev, int *ip);        /* Using 1500 byte ethernet packets, minus 20 byte IP Header, 	 * minus 20 byte TCP Header, minus 48-byte iSCSI Header leaves us with	 * 1412 bytes, we can only fit 2 * 512 byte blocks :(         * We should really check the Path-MTU of the target we're         * talking to.  It's expected that this value will be variable         * for each instantiation of the driver	 */        /* Right now we'll limit cmd_per_lun to 1 for proof of concept.  At a later         * date this should get set to the the maximum number of connections         * in a particular session a target is willing to support.         */#define ISCSI_CLIENT {                                   \        proc_info:  iscsi_client_proc_info,              \        proc_name:  "iscsi_client",                      \        name:  "iSCSI Client Adapter",                   \        detect:  iscsi_client_detect,                    \        info:  iscsi_client_info,                        \        command:  iscsi_client_command,                  \        queuecommand:  iscsi_client_queuecommand,        \        abort:  iscsi_client_abort,                      \        reset:  iscsi_client_reset,                      \        bios_param:  iscsi_client_bios_param,            \        can_queue:  1,                                   \        this_id:  ISCSI_CLIENT_SCSI_ID,                  \        sg_tablesize:  ISCSI_CLIENT_SG_TABLE_SIZE,       \        cmd_per_lun:  1,                                 \        unchecked_isa_dma:  0,                           \        use_clustering:  ENABLE_CLUSTERING               \}#endif

⌨️ 快捷键说明

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