linux/drivers/target/target_core_pscsi.h
<<
>>
Prefs
   1#ifndef TARGET_CORE_PSCSI_H
   2#define TARGET_CORE_PSCSI_H
   3
   4#define PSCSI_VERSION           "v4.0"
   5
   6/* used in pscsi_find_alloc_len() */
   7#ifndef INQUIRY_DATA_SIZE
   8#define INQUIRY_DATA_SIZE       0x24
   9#endif
  10
  11/* used in pscsi_add_device_to_list() */
  12#define PSCSI_DEFAULT_QUEUEDEPTH        1
  13
  14#define PS_RETRY                5
  15#define PS_TIMEOUT_DISK         (15*HZ)
  16#define PS_TIMEOUT_OTHER        (500*HZ)
  17
  18#include <linux/device.h>
  19#include <scsi/scsi_driver.h>
  20#include <scsi/scsi_device.h>
  21#include <linux/kref.h>
  22#include <linux/kobject.h>
  23
  24struct pscsi_plugin_task {
  25        unsigned char pscsi_sense[SCSI_SENSE_BUFFERSIZE];
  26        int     pscsi_direction;
  27        int     pscsi_result;
  28        u32     pscsi_resid;
  29        unsigned char pscsi_cdb[0];
  30} ____cacheline_aligned;
  31
  32#define PDF_HAS_CHANNEL_ID      0x01
  33#define PDF_HAS_TARGET_ID       0x02
  34#define PDF_HAS_LUN_ID          0x04
  35#define PDF_HAS_VPD_UNIT_SERIAL 0x08
  36#define PDF_HAS_VPD_DEV_IDENT   0x10
  37#define PDF_HAS_VIRT_HOST_ID    0x20
  38
  39struct pscsi_dev_virt {
  40        struct se_device dev;
  41        int     pdv_flags;
  42        int     pdv_host_id;
  43        int     pdv_channel_id;
  44        int     pdv_target_id;
  45        int     pdv_lun_id;
  46        struct block_device *pdv_bd;
  47        struct scsi_device *pdv_sd;
  48} ____cacheline_aligned;
  49
  50typedef enum phv_modes {
  51        PHV_VIRTUAL_HOST_ID,
  52        PHV_LLD_SCSI_HOST_NO
  53} phv_modes_t;
  54
  55struct pscsi_hba_virt {
  56        int                     phv_host_id;
  57        phv_modes_t             phv_mode;
  58        struct Scsi_Host        *phv_lld_host;
  59} ____cacheline_aligned;
  60
  61#endif   /*** TARGET_CORE_PSCSI_H ***/
  62
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.