smartmontools SVN Rev 5611
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 "atacmds.h"
#include "dev_interface.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

namespace  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

 STATIC_ASSERT (sizeof(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
 
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)
 

Variables

const char * dev_intelliprop_cpp_cvsid = "$Id: dev_intelliprop.cpp 5449 2023-02-05 14:44:07Z chrfranke $"
 
struct iprop_internal_log ATTR_PACKED
 

Macro Definition Documentation

◆ LOG_C0

#define LOG_C0   0xc0

Definition at line 21 of file dev_intelliprop.cpp.

Enumeration Type Documentation

◆ anonymous enum

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 24 of file dev_intelliprop.cpp.

◆ anonymous enum

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 32 of file dev_intelliprop.cpp.

Function Documentation

◆ iprop_crc16_1()

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 81 of file dev_intelliprop.cpp.

◆ iprop_dump_log_structure()

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

Definition at line 138 of file dev_intelliprop.cpp.

◆ iprop_switch_routed_drive()

static bool iprop_switch_routed_drive ( ata_device device,
int  drive_select 
)
static

Definition at line 172 of file dev_intelliprop.cpp.

◆ STATIC_ASSERT()

STATIC_ASSERT ( sizeof(iprop_internal_log = =512)

Variable Documentation

◆ ATTR_PACKED

struct iprop_internal_log ATTR_PACKED

◆ dev_intelliprop_cpp_cvsid

const char* dev_intelliprop_cpp_cvsid = "$Id: dev_intelliprop.cpp 5449 2023-02-05 14:44:07Z chrfranke $"

Definition at line 18 of file dev_intelliprop.cpp.