smartmontools  SVN Rev 4078
Utility to control and monitor storage systems with "S.M.A.R.T."
Classes | Namespaces | Macros | Functions | Variables
scsiata.cpp File Reference
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <errno.h>
#include "config.h"
#include "int64.h"
#include "scsicmds.h"
#include "atacmds.h"
#include "knowndrives.h"
#include "utility.h"
#include "dev_interface.h"
#include "dev_ata_cmd_set.h"
#include "dev_tunnelled.h"
Include dependency graph for scsiata.cpp:

Go to the source code of this file.

Classes

struct  sg_scsi_sense_hdr
 Abridged SCSI sense data. More...
 
class  sat::sat_device
 SAT support. More...
 
class  sat::usbcypress_device
 Cypress USB Brigde support. More...
 
class  sat::usbjmicron_device
 JMicron USB Bridge support. More...
 
class  sat::usbprolific_device
 Prolific USB Bridge support. (PL2773) (Probably works on PL2771 also...) More...
 
class  sat::usbsunplus_device
 SunplusIT USB Bridge support. More...
 

Namespaces

 sat
 

Macros

#define SAT_ATA_PASSTHROUGH_12LEN   12
 
#define SAT_ATA_PASSTHROUGH_16LEN   16
 
#define DEF_SAT_ATA_PASSTHRU_SIZE   16
 
#define ATA_RETURN_DESCRIPTOR   9
 
#define USBCYPRESS_PASSTHROUGH_LEN   16
 

Functions

static int sg_scsi_normalize_sense (const unsigned char *sensep, int sb_len, struct sg_scsi_sense_hdr *sshp)
 
static bool has_sat_pass_through (ata_device *dev, bool packet_interface=false)
 
static bool scsi_pass_through_and_check (scsi_device *scsidev, scsi_cmnd_io *iop, const char *msg="")
 
static std::string format_usb_id (int vendor_id, int product_id, int version)
 

Variables

const char * scsiata_cpp_cvsid = "$Id: scsiata.cpp 4041 2015-03-14 00:50:20Z dpgilbert $"
 

Macro Definition Documentation

#define ATA_RETURN_DESCRIPTOR   9

Definition at line 99 of file scsiata.cpp.

#define DEF_SAT_ATA_PASSTHRU_SIZE   16

Definition at line 98 of file scsiata.cpp.

#define SAT_ATA_PASSTHROUGH_12LEN   12

Definition at line 95 of file scsiata.cpp.

#define SAT_ATA_PASSTHROUGH_16LEN   16

Definition at line 96 of file scsiata.cpp.

#define USBCYPRESS_PASSTHROUGH_LEN   16

Definition at line 662 of file scsiata.cpp.

Function Documentation

static std::string format_usb_id ( int  vendor_id,
int  product_id,
int  version 
)
static

Definition at line 1563 of file scsiata.cpp.

static bool has_sat_pass_through ( ata_device dev,
bool  packet_interface = false 
)
static

Definition at line 536 of file scsiata.cpp.

static bool scsi_pass_through_and_check ( scsi_device scsidev,
scsi_cmnd_io iop,
const char *  msg = "" 
)
static

Definition at line 591 of file scsiata.cpp.

static int sg_scsi_normalize_sense ( const unsigned char *  sensep,
int  sb_len,
struct sg_scsi_sense_hdr sshp 
)
static

Definition at line 554 of file scsiata.cpp.

Variable Documentation

const char* scsiata_cpp_cvsid = "$Id: scsiata.cpp 4041 2015-03-14 00:50:20Z dpgilbert $"

Definition at line 65 of file scsiata.cpp.