Back to index

glibc  2.9
Classes | Defines | Typedefs
sg.h File Reference
#include <features.h>

Go to the source code of this file.

Classes

struct  sg_iovec
struct  sg_io_hdr
struct  sg_scsi_id
struct  sg_req_info
struct  sg_header

Defines

#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_FLAG_DIRECT_IO   1 /* default is indirect IO */
#define SG_FLAG_LUN_INHIBIT   2 /* default is to put device's lun into */
#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_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_SCATTER_SZ   (8 * 4096) /* PAGE_SIZE not available to user */
#define SG_DEFAULT_RETRIES   1
#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 /* Set timeout; *(int *)arg==timeout. */
#define SG_GET_TIMEOUT   0x2202 /* Get timeout; return timeout. */
#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_req_info sg_req_info_t
typedef struct sg_io_hdr
typedef struct sg_io_vec
typedef struct sg_scsi_id
typedef struct sg_req_info

Class Documentation

struct sg_iovec

Definition at line 36 of file sg.h.

Class Members
void * iov_base
size_t iov_len
struct sg_io_hdr

Definition at line 43 of file sg.h.

Class Members
unsigned char cmd_len
unsigned char * cmdp
unsigned short int driver_status
unsigned int duration
int dxfer_direction
unsigned int dxfer_len
void * dxferp
unsigned int flags
unsigned short int host_status
unsigned int info
int interface_id
unsigned short int iovec_count
unsigned char masked_status
unsigned char msg_status
unsigned char mx_sb_len
int pack_id
int resid
unsigned char sb_len_wr
unsigned char * sbp
unsigned char status
unsigned int timeout
void * usr_ptr
struct sg_scsi_id

Definition at line 98 of file sg.h.

Class Members
int channel
short int d_queue_depth
short int h_cmd_per_lun
int host_no
int lun
int scsi_id
int scsi_type
int unused
struct sg_req_info

Definition at line 116 of file sg.h.

Class Members
unsigned int duration
char orphan
int pack_id
char problem
char req_state
char sg_io_owned
int unused
void * usr_ptr
struct sg_header

Definition at line 218 of file sg.h.

Class Members
unsigned int driver_status:8
unsigned int host_status:8
unsigned int other_flags:10
int pack_id
int pack_len
int reply_len
int result
unsigned char sense_buffer
unsigned int target_status:5
unsigned int twelve_byte:1

Define Documentation

#define SG_BIG_BUFF   SG_DEF_RESERVED_SIZE /* for backward compatibility */

Definition at line 203 of file sg.h.

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

Definition at line 265 of file sg.h.

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

Definition at line 195 of file sg.h.

#define SG_DEF_FORCE_PACK_ID   0

Definition at line 196 of file sg.h.

#define SG_DEF_KEEP_ORPHAN   0

Definition at line 197 of file sg.h.

Definition at line 198 of file sg.h.

#define SG_DEF_UNDERRUN_FLAG   0

Definition at line 266 of file sg.h.

#define SG_DEFAULT_RETRIES   1

Definition at line 192 of file sg.h.

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

Definition at line 264 of file sg.h.

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

Definition at line 74 of file sg.h.

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

Definition at line 72 of file sg.h.

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

Definition at line 73 of file sg.h.

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 75 of file sg.h.

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

Definition at line 133 of file sg.h.

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

Definition at line 79 of file sg.h.

#define SG_FLAG_LUN_INHIBIT   2 /* default is to put device's lun into */

Definition at line 80 of file sg.h.

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

Definition at line 82 of file sg.h.

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

Definition at line 254 of file sg.h.

#define SG_GET_KEEP_ORPHAN   0x2288

Definition at line 181 of file sg.h.

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

Definition at line 150 of file sg.h.

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

Definition at line 159 of file sg.h.

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

Definition at line 157 of file sg.h.

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

Definition at line 177 of file sg.h.

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

Definition at line 142 of file sg.h.

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

Definition at line 145 of file sg.h.

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

Definition at line 162 of file sg.h.

#define SG_GET_TIMEOUT   0x2202 /* Get timeout; return timeout. */

Definition at line 251 of file sg.h.

#define SG_GET_TRANSFORM   0x2205

Definition at line 139 of file sg.h.

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

Definition at line 164 of file sg.h.

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

Definition at line 88 of file sg.h.

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

Definition at line 92 of file sg.h.

#define SG_INFO_DIRECT_IO_MASK   0x6

Definition at line 90 of file sg.h.

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

Definition at line 91 of file sg.h.

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

Definition at line 93 of file sg.h.

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

Definition at line 87 of file sg.h.

#define SG_INFO_OK_MASK   0x1

Definition at line 86 of file sg.h.

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

Definition at line 175 of file sg.h.

#define SG_MAX_QUEUE   16

Definition at line 201 of file sg.h.

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

Definition at line 216 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 261 of file sg.h.

#define SG_SCATTER_SZ   (8 * 4096) /* PAGE_SIZE not available to user */

Definition at line 184 of file sg.h.

#define SG_SCSI_RESET   0x2284

Definition at line 167 of file sg.h.

#define SG_SCSI_RESET_BUS   2

Definition at line 171 of file sg.h.

#define SG_SCSI_RESET_DEVICE   1

Definition at line 170 of file sg.h.

#define SG_SCSI_RESET_HOST   3

Definition at line 172 of file sg.h.

#define SG_SCSI_RESET_NOTHING   0

Definition at line 169 of file sg.h.

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

Definition at line 255 of file sg.h.

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

Definition at line 259 of file sg.h.

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

Definition at line 149 of file sg.h.

#define SG_SET_FORCE_PACK_ID   0x227b

Definition at line 156 of file sg.h.

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

Definition at line 180 of file sg.h.

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

Definition at line 141 of file sg.h.

#define SG_SET_TIMEOUT   0x2201 /* Set timeout; *(int *)arg==timeout. */

Definition at line 250 of file sg.h.

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

Definition at line 137 of file sg.h.


Typedef Documentation

typedef struct sg_io_hdr

Definition at line 206 of file sg.h.

typedef struct sg_io_hdr sg_io_hdr_t
typedef struct sg_io_vec

Definition at line 207 of file sg.h.

typedef struct sg_iovec sg_iovec_t
typedef struct sg_req_info

Definition at line 209 of file sg.h.

typedef struct sg_req_info sg_req_info_t
typedef struct sg_scsi_id

Definition at line 208 of file sg.h.