smartmontools SVN Rev 5602
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 "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 "sg_unaligned.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 Bridge 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

namespace  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 std::string format_usb_id (int vendor_id, int product_id, int version)
 

Variables

const char * scsiata_cpp_cvsid = "$Id: scsiata.cpp 5482 2023-06-25 16:46:49Z chrfranke $"
 

Macro Definition Documentation

◆ ATA_RETURN_DESCRIPTOR

#define ATA_RETURN_DESCRIPTOR   9

Definition at line 93 of file scsiata.cpp.

◆ DEF_SAT_ATA_PASSTHRU_SIZE

#define DEF_SAT_ATA_PASSTHRU_SIZE   16

Definition at line 92 of file scsiata.cpp.

◆ SAT_ATA_PASSTHROUGH_12LEN

#define SAT_ATA_PASSTHROUGH_12LEN   12

Definition at line 89 of file scsiata.cpp.

◆ SAT_ATA_PASSTHROUGH_16LEN

#define SAT_ATA_PASSTHROUGH_16LEN   16

Definition at line 90 of file scsiata.cpp.

◆ USBCYPRESS_PASSTHROUGH_LEN

#define USBCYPRESS_PASSTHROUGH_LEN   16

Definition at line 651 of file scsiata.cpp.

Function Documentation

◆ format_usb_id()

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

Definition at line 1509 of file scsiata.cpp.

◆ has_sat_pass_through()

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

Definition at line 559 of file scsiata.cpp.

◆ sg_scsi_normalize_sense()

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

Definition at line 577 of file scsiata.cpp.

Variable Documentation

◆ scsiata_cpp_cvsid

const char* scsiata_cpp_cvsid = "$Id: scsiata.cpp 5482 2023-06-25 16:46:49Z chrfranke $"

Definition at line 59 of file scsiata.cpp.