Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
sg.h File Reference
#include <linux/compiler.h>

Go to the source code of this file.

Data Structures

struct  sg_iovec
 
struct  sg_io_hdr
 
struct  sg_scsi_id
 
struct  sg_req_info
 
struct  sg_header
 

Macros

#define SG_INTERFACE_ID_ORIG   'S'
 
#define SG_DXFER_NONE   (-1) /* e.g. a SCSI Test Unit Ready command */
 
#define SG_DXFER_TO_DEV   (-2) /* e.g. a SCSI WRITE command */
 
#define SG_DXFER_FROM_DEV   (-3) /* e.g. a SCSI READ command */
 
#define SG_DXFER_TO_FROM_DEV
 
#define SG_DXFER_UNKNOWN   (-5) /* Unknown data direction */
 
#define SG_FLAG_DIRECT_IO   1 /* default is indirect IO */
 
#define SG_FLAG_UNUSED_LUN_INHIBIT   2 /* default is overwrite lun in SCSI */
 
#define SG_FLAG_MMAP_IO   4 /* request memory mapped IO */
 
#define SG_FLAG_NO_DXFER   0x10000 /* no transfer of kernel buffers to/from */
 
#define SG_INFO_OK_MASK   0x1
 
#define SG_INFO_OK   0x0 /* no sense, host nor driver "noise" */
 
#define SG_INFO_CHECK   0x1 /* something abnormal happened */
 
#define SG_INFO_DIRECT_IO_MASK   0x6
 
#define SG_INFO_INDIRECT_IO   0x0 /* data xfer via kernel buffers (or no xfer) */
 
#define SG_INFO_DIRECT_IO   0x2 /* direct IO requested and performed */
 
#define SG_INFO_MIXED_IO   0x4 /* part direct, part indirect IO */
 
#define SG_EMULATED_HOST   0x2203 /* true for emulated host adapter (ATAPI) */
 
#define SG_SET_TRANSFORM   0x2204 /* N.B. 3rd arg is not pointer but value: */
 
#define SG_GET_TRANSFORM   0x2205
 
#define SG_SET_RESERVED_SIZE   0x2275 /* request a new reserved buffer size */
 
#define SG_GET_RESERVED_SIZE   0x2272 /* actual size of reserved buffer */
 
#define SG_GET_SCSI_ID   0x2276 /* Yields fd's bus, chan, dev, lun + type */
 
#define SG_SET_FORCE_LOW_DMA   0x2279 /* 0-> use adapter setting, 1-> force */
 
#define SG_GET_LOW_DMA   0x227a /* 0-> use all ram for dma; 1-> low dma ram */
 
#define SG_SET_FORCE_PACK_ID   0x227b
 
#define SG_GET_PACK_ID   0x227c /* Yields oldest readable pack_id (or -1) */
 
#define SG_GET_NUM_WAITING   0x227d /* Number of commands awaiting read() */
 
#define SG_GET_SG_TABLESIZE   0x227F /* 0 implies can't do scatter gather */
 
#define SG_GET_VERSION_NUM   0x2282 /* Example: version 2.1.34 yields 20134 */
 
#define SG_SCSI_RESET   0x2284
 
#define SG_SCSI_RESET_NOTHING   0
 
#define SG_SCSI_RESET_DEVICE   1
 
#define SG_SCSI_RESET_BUS   2
 
#define SG_SCSI_RESET_HOST   3
 
#define SG_SCSI_RESET_TARGET   4
 
#define SG_IO   0x2285 /* similar effect as write() followed by read() */
 
#define SG_GET_REQUEST_TABLE   0x2286 /* yields table of active requests */
 
#define SG_SET_KEEP_ORPHAN   0x2287 /* 1 -> hold for read(), 0 -> drop (def) */
 
#define SG_GET_KEEP_ORPHAN   0x2288
 
#define SG_GET_ACCESS_COUNT   0x2289
 
#define SG_SCATTER_SZ   (8 * 4096)
 
#define SG_DEFAULT_RETRIES   0
 
#define SG_DEF_FORCE_LOW_DMA   0 /* was 1 -> memory below 16MB on i386 */
 
#define SG_DEF_FORCE_PACK_ID   0
 
#define SG_DEF_KEEP_ORPHAN   0
 
#define SG_DEF_RESERVED_SIZE   SG_SCATTER_SZ /* load time option */
 
#define SG_MAX_QUEUE   16
 
#define SG_BIG_BUFF   SG_DEF_RESERVED_SIZE /* for backward compatibility */
 
#define SG_MAX_SENSE   16 /* this only applies to the sg_header interface */
 
#define SG_SET_TIMEOUT   0x2201 /* unit: jiffies (10ms on i386) */
 
#define SG_GET_TIMEOUT   0x2202 /* yield timeout as _return_ value */
 
#define SG_GET_COMMAND_Q   0x2270 /* Yields 0 (queuing off) or 1 (on) */
 
#define SG_SET_COMMAND_Q   0x2271 /* Change queuing state with 0 or 1 */
 
#define SG_SET_DEBUG   0x227e /* 0 -> turn off debug */
 
#define SG_NEXT_CMD_LEN
 
#define SG_DEFAULT_TIMEOUT   (60*HZ) /* HZ == 'jiffies in 1 second' */
 
#define SG_DEF_COMMAND_Q
 
#define SG_DEF_UNDERRUN_FLAG   0
 

Typedefs

typedef struct sg_iovec sg_iovec_t
 
typedef struct sg_io_hdr sg_io_hdr_t
 
typedef struct sg_scsi_id sg_scsi_id_t
 
typedef struct sg_req_info sg_req_info_t
 
typedef struct sg_io_hdr Sg_io_hdr
 
typedef struct sg_io_vec Sg_io_vec
 
typedef struct sg_scsi_id Sg_scsi_id
 
typedef struct sg_req_info Sg_req_info
 

Macro Definition Documentation

#define SG_BIG_BUFF   SG_DEF_RESERVED_SIZE /* for backward compatibility */

Definition at line 242 of file sg.h.

#define SG_DEF_COMMAND_Q
Value:
0 /* command queuing is always on when
the new interface is used */

Definition at line 303 of file sg.h.

#define SG_DEF_FORCE_LOW_DMA   0 /* was 1 -> memory below 16MB on i386 */

Definition at line 234 of file sg.h.

#define SG_DEF_FORCE_PACK_ID   0

Definition at line 235 of file sg.h.

#define SG_DEF_KEEP_ORPHAN   0

Definition at line 236 of file sg.h.

#define SG_DEF_RESERVED_SIZE   SG_SCATTER_SZ /* load time option */

Definition at line 237 of file sg.h.

#define SG_DEF_UNDERRUN_FLAG   0

Definition at line 304 of file sg.h.

#define SG_DEFAULT_RETRIES   0

Definition at line 231 of file sg.h.

#define SG_DEFAULT_TIMEOUT   (60*HZ) /* HZ == 'jiffies in 1 second' */

Definition at line 300 of file sg.h.

#define SG_DXFER_FROM_DEV   (-3) /* e.g. a SCSI READ command */

Definition at line 118 of file sg.h.

#define SG_DXFER_NONE   (-1) /* e.g. a SCSI Test Unit Ready command */

Definition at line 116 of file sg.h.

#define SG_DXFER_TO_DEV   (-2) /* e.g. a SCSI WRITE command */

Definition at line 117 of file sg.h.

#define SG_DXFER_TO_FROM_DEV
Value:
(-4) /* treated like SG_DXFER_FROM_DEV with the
additional property than during indirect
IO the user buffer is copied into the
kernel buffers before the transfer */

Definition at line 119 of file sg.h.

#define SG_DXFER_UNKNOWN   (-5) /* Unknown data direction */

Definition at line 120 of file sg.h.

#define SG_EMULATED_HOST   0x2203 /* true for emulated host adapter (ATAPI) */

Definition at line 169 of file sg.h.

#define SG_FLAG_DIRECT_IO   1 /* default is indirect IO */

Definition at line 123 of file sg.h.

#define SG_FLAG_MMAP_IO   4 /* request memory mapped IO */

Definition at line 126 of file sg.h.

#define SG_FLAG_NO_DXFER   0x10000 /* no transfer of kernel buffers to/from */

Definition at line 127 of file sg.h.

#define SG_FLAG_UNUSED_LUN_INHIBIT   2 /* default is overwrite lun in SCSI */

Definition at line 124 of file sg.h.

#define SG_GET_ACCESS_COUNT   0x2289

Definition at line 221 of file sg.h.

#define SG_GET_COMMAND_Q   0x2270 /* Yields 0 (queuing off) or 1 (on) */

Definition at line 286 of file sg.h.

#define SG_GET_KEEP_ORPHAN   0x2288

Definition at line 218 of file sg.h.

#define SG_GET_LOW_DMA   0x227a /* 0-> use all ram for dma; 1-> low dma ram */

Definition at line 186 of file sg.h.

#define SG_GET_NUM_WAITING   0x227d /* Number of commands awaiting read() */

Definition at line 195 of file sg.h.

#define SG_GET_PACK_ID   0x227c /* Yields oldest readable pack_id (or -1) */

Definition at line 193 of file sg.h.

#define SG_GET_REQUEST_TABLE   0x2286 /* yields table of active requests */

Definition at line 214 of file sg.h.

#define SG_GET_RESERVED_SIZE   0x2272 /* actual size of reserved buffer */

Definition at line 178 of file sg.h.

#define SG_GET_SCSI_ID   0x2276 /* Yields fd's bus, chan, dev, lun + type */

Definition at line 181 of file sg.h.

#define SG_GET_SG_TABLESIZE   0x227F /* 0 implies can't do scatter gather */

Definition at line 198 of file sg.h.

#define SG_GET_TIMEOUT   0x2202 /* yield timeout as _return_ value */

Definition at line 281 of file sg.h.

#define SG_GET_TRANSFORM   0x2205

Definition at line 175 of file sg.h.

#define SG_GET_VERSION_NUM   0x2282 /* Example: version 2.1.34 yields 20134 */

Definition at line 200 of file sg.h.

#define SG_INFO_CHECK   0x1 /* something abnormal happened */

Definition at line 133 of file sg.h.

#define SG_INFO_DIRECT_IO   0x2 /* direct IO requested and performed */

Definition at line 137 of file sg.h.

#define SG_INFO_DIRECT_IO_MASK   0x6

Definition at line 135 of file sg.h.

#define SG_INFO_INDIRECT_IO   0x0 /* data xfer via kernel buffers (or no xfer) */

Definition at line 136 of file sg.h.

#define SG_INFO_MIXED_IO   0x4 /* part direct, part indirect IO */

Definition at line 138 of file sg.h.

#define SG_INFO_OK   0x0 /* no sense, host nor driver "noise" */

Definition at line 132 of file sg.h.

#define SG_INFO_OK_MASK   0x1

Definition at line 131 of file sg.h.

#define SG_INTERFACE_ID_ORIG   'S'

Definition at line 113 of file sg.h.

#define SG_IO   0x2285 /* similar effect as write() followed by read() */

Definition at line 212 of file sg.h.

#define SG_MAX_QUEUE   16

Definition at line 240 of file sg.h.

#define SG_MAX_SENSE   16 /* this only applies to the sg_header interface */

Definition at line 255 of file sg.h.

#define SG_NEXT_CMD_LEN
Value:
0x2283 /* override SCSI command length with given
number on the next write() on this file descriptor */

Definition at line 293 of file sg.h.

#define SG_SCATTER_SZ   (8 * 4096)

Definition at line 224 of file sg.h.

#define SG_SCSI_RESET   0x2284

Definition at line 203 of file sg.h.

#define SG_SCSI_RESET_BUS   2

Definition at line 207 of file sg.h.

#define SG_SCSI_RESET_DEVICE   1

Definition at line 206 of file sg.h.

#define SG_SCSI_RESET_HOST   3

Definition at line 208 of file sg.h.

#define SG_SCSI_RESET_NOTHING   0

Definition at line 205 of file sg.h.

#define SG_SCSI_RESET_TARGET   4

Definition at line 209 of file sg.h.

#define SG_SET_COMMAND_Q   0x2271 /* Change queuing state with 0 or 1 */

Definition at line 287 of file sg.h.

#define SG_SET_DEBUG   0x227e /* 0 -> turn off debug */

Definition at line 291 of file sg.h.

#define SG_SET_FORCE_LOW_DMA   0x2279 /* 0-> use adapter setting, 1-> force */

Definition at line 185 of file sg.h.

#define SG_SET_FORCE_PACK_ID   0x227b

Definition at line 192 of file sg.h.

#define SG_SET_KEEP_ORPHAN   0x2287 /* 1 -> hold for read(), 0 -> drop (def) */

Definition at line 217 of file sg.h.

#define SG_SET_RESERVED_SIZE   0x2275 /* request a new reserved buffer size */

Definition at line 177 of file sg.h.

#define SG_SET_TIMEOUT   0x2201 /* unit: jiffies (10ms on i386) */

Definition at line 280 of file sg.h.

#define SG_SET_TRANSFORM   0x2204 /* N.B. 3rd arg is not pointer but value: */

Definition at line 173 of file sg.h.

Typedef Documentation

Definition at line 245 of file sg.h.

typedef struct sg_io_vec Sg_io_vec

Definition at line 246 of file sg.h.

Definition at line 248 of file sg.h.

Definition at line 247 of file sg.h.