smartmontools  SVN Rev 4631
Utility to control and monitor storage systems with "S.M.A.R.T."
Classes | Namespaces | Macros | Enumerations | Functions | Variables
dev_intelliprop.cpp File Reference
#include "config.h"
#include "int64.h"
#include "atacmds.h"
#include "dev_interface.h"
#include "dev_intelliprop.h"
#include "dev_tunnelled.h"
#include <errno.h>
Include dependency graph for dev_intelliprop.cpp:

Go to the source code of this file.

Classes

struct  iprop_internal_log
 
class  intelliprop::intelliprop_device
 

Namespaces

 intelliprop
 

Macros

#define LOG_C0   0xc0
 

Enumerations

enum  { IPROP_VS_LOG_MODE_CTL_AUTO_SUPPORTED = (0 << 0), IPROP_VS_LOG_MODE_CTL_MANUAL_SUPPORTED = (1 << 1), IPROP_VS_LOG_MODE_CTL_AUTO_ENABLED = (0 << 2), IPROP_VS_LOG_MODE_CTL_MANUAL_ENABLED = (1 << 3) }
 
enum  {
  IPROP_VS_LOG_PORT_WRITE_ENABLE_MASK = 0xC000, IPROP_VS_LOG_PORT_WRITE_ENABLE_VALID = 0x8000, IPROP_VS_LOG_PORT_RX_DC_GAIN_MASK = 0x3000, IPROP_VS_LOG_PORT_RX_DC_GAIN_SHIFT = 12,
  IPROP_VS_LOG_PORT_RX_EQ_MASK = 0x0F00, IPROP_VS_LOG_PORT_RX_EQ_SHIFT = 8, IPROP_VS_LOG_PORT_TX_PREEMP_MASK = 0x00F8, IPROP_VS_LOG_PORT_TX_PREEMP_SHIFT = 3,
  IPROP_VS_LOG_PORT_TX_VOD_MASK = 0x0007, IPROP_VS_LOG_PORT_TX_VOD_SHIFT = 0
}
 

Functions

 ASSERT_SIZEOF_STRUCT (iprop_internal_log, 512)
 
static uint16_t iprop_crc16_1 (uint8_t *buffer, uint32_t len, bool check_crc)
 buffer is a pointer to a buffer of bytes, which should include data and also CRC if the function is being used to check CRC len is the number of bytes in the buffer (including CRC if it is present) check_crc is a boolean value, set true to check an existing CRC, false to calculate a new CRC More...
 
static void iprop_dump_log_structure (struct iprop_internal_log const *const log)
 
static bool iprop_switch_routed_drive (ata_device *device, int drive_select)
 
ata_deviceget_intelliprop_device (smart_interface *intf, unsigned phydrive, ata_device *atadev)
 

Variables

const char * dev_intelliprop_cpp_cvsid
 
struct iprop_internal_log ATTR_PACKED
 

Macro Definition Documentation

#define LOG_C0   0xc0

Definition at line 30 of file dev_intelliprop.cpp.

Enumeration Type Documentation

anonymous enum
Enumerator
IPROP_VS_LOG_MODE_CTL_AUTO_SUPPORTED 
IPROP_VS_LOG_MODE_CTL_MANUAL_SUPPORTED 
IPROP_VS_LOG_MODE_CTL_AUTO_ENABLED 
IPROP_VS_LOG_MODE_CTL_MANUAL_ENABLED 

Definition at line 33 of file dev_intelliprop.cpp.

anonymous enum
Enumerator
IPROP_VS_LOG_PORT_WRITE_ENABLE_MASK 
IPROP_VS_LOG_PORT_WRITE_ENABLE_VALID 
IPROP_VS_LOG_PORT_RX_DC_GAIN_MASK 
IPROP_VS_LOG_PORT_RX_DC_GAIN_SHIFT 
IPROP_VS_LOG_PORT_RX_EQ_MASK 
IPROP_VS_LOG_PORT_RX_EQ_SHIFT 
IPROP_VS_LOG_PORT_TX_PREEMP_MASK 
IPROP_VS_LOG_PORT_TX_PREEMP_SHIFT 
IPROP_VS_LOG_PORT_TX_VOD_MASK 
IPROP_VS_LOG_PORT_TX_VOD_SHIFT 

Definition at line 41 of file dev_intelliprop.cpp.

Function Documentation

ASSERT_SIZEOF_STRUCT ( iprop_internal_log  ,
512   
)
ata_device* get_intelliprop_device ( smart_interface intf,
unsigned  phydrive,
ata_device atadev 
)

Definition at line 301 of file dev_intelliprop.cpp.

static uint16_t iprop_crc16_1 ( uint8_t *  buffer,
uint32_t  len,
bool  check_crc 
)
static

buffer is a pointer to a buffer of bytes, which should include data and also CRC if the function is being used to check CRC len is the number of bytes in the buffer (including CRC if it is present) check_crc is a boolean value, set true to check an existing CRC, false to calculate a new CRC

Definition at line 90 of file dev_intelliprop.cpp.

static void iprop_dump_log_structure ( struct iprop_internal_log const *const  log)
static

Definition at line 147 of file dev_intelliprop.cpp.

static bool iprop_switch_routed_drive ( ata_device device,
int  drive_select 
)
static

Definition at line 181 of file dev_intelliprop.cpp.

Variable Documentation

struct iprop_internal_log ATTR_PACKED
const char* dev_intelliprop_cpp_cvsid
Initial value:
= "$Id: dev_intelliprop.cpp 4370 2017-01-11 20:35:38Z chrfranke $"
#define DEV_INTELLIPROP_H_CVSID

Definition at line 26 of file dev_intelliprop.cpp.