#include "config.h"
#include <errno.h>
#include <fcntl.h>
#include <glob.h>
#include <scsi/scsi.h>
#include <scsi/scsi_ioctl.h>
#include <scsi/sg.h>
#include <linux/bsg.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/utsname.h>
#include <unistd.h>
#include <stddef.h>
#include <sys/uio.h>
#include <sys/types.h>
#include <dirent.h>
#include "atacmds.h"
#include "os_linux.h"
#include "scsicmds.h"
#include "utility.h"
#include "cciss.h"
#include "megaraid.h"
#include "aacraid.h"
#include "nvmecmds.h"
#include "dev_interface.h"
#include "dev_ata_cmd_set.h"
#include "dev_areca.h"
#include "linux_nvme_ioctl.h"
Go to the source code of this file.
|
static int | os_linux::sg_io_cmnd_io (int dev_fd, struct scsi_cmnd_io *iop, int report, enum lk_sg_io_ifc_t sg_io_ifc) |
|
static int | os_linux::do_normal_scsi_cmnd_io (int dev_fd, struct scsi_cmnd_io *iop, int report) |
|
static int | os_linux::setup_3ware_nodes (const char *nodename, const char *driver_name) |
|
static int | os_linux::find_areca_in_proc () |
|
static bool | os_linux::read_id (const std::string &path, unsigned short &id) |
|
static bool | os_linux::get_usb_id (const char *name, unsigned short &vendor_id, unsigned short &product_id, unsigned short &version) |
|
static unsigned | os_linux::get_kernel_release () |
|
static bool | os_linux::is_hpsa_in_raid_mode (const char *name) |
|
◆ ARGUSED
#define ARGUSED |
( |
|
x | ) |
((void)(x)) |
◆ BUFFER_LEN_678K
#define BUFFER_LEN_678K ( sizeof(TW_Ioctl) ) |
◆ BUFFER_LEN_678K_CHAR
◆ BUFFER_LEN_9000
◆ BUFFER_LENGTH
#define BUFFER_LENGTH (4+512) |
◆ DEVICE_STRING_LENGTH
#define DEVICE_STRING_LENGTH 32 |
◆ ENOTSUP
◆ LSCSI_DID_BUS_BUSY
#define LSCSI_DID_BUS_BUSY 0x2 |
◆ LSCSI_DID_ERROR
#define LSCSI_DID_ERROR 0x7 /* Need to work around aacraid driver quirk */ |
◆ LSCSI_DID_NO_CONNECT
#define LSCSI_DID_NO_CONNECT 0x1 |
◆ LSCSI_DID_TIME_OUT
#define LSCSI_DID_TIME_OUT 0x3 |
◆ LSCSI_DRIVER_MASK
#define LSCSI_DRIVER_MASK 0xf /* mask out "suggestions" */ |
◆ LSCSI_DRIVER_SENSE
#define LSCSI_DRIVER_SENSE 0x8 /* alternate CHECK CONDITION indication */ |
◆ LSCSI_DRIVER_TIMEOUT
#define LSCSI_DRIVER_TIMEOUT 0x6 |
◆ MAJOR_STRING_LENGTH
#define MAJOR_STRING_LENGTH 3 |
◆ MAX_DXFER_LEN
#define MAX_DXFER_LEN 1024 /* can be increased if necessary */ |
◆ NODE_STRING_LENGTH
#define NODE_STRING_LENGTH 16 |
◆ SCSI_IOCTL_SEND_COMMAND
#define SCSI_IOCTL_SEND_COMMAND 1 |
◆ SEND_IOCTL_RESP_SENSE_LEN
#define SEND_IOCTL_RESP_SENSE_LEN 16 /* ioctl limitation */ |
◆ SG_IO_RESP_SENSE_LEN
#define SG_IO_RESP_SENSE_LEN 64 /* large enough see buffer */ |
◆ SRB_STATUS_AUTOSENSE_VALID
#define SRB_STATUS_AUTOSENSE_VALID 0x80 |
◆ SRB_STATUS_ERROR
#define SRB_STATUS_ERROR 0x4 |
◆ SRB_STATUS_NO_DEVICE
#define SRB_STATUS_NO_DEVICE 0x08 |
◆ SRB_STATUS_SELECTION_TIMEOUT
#define SRB_STATUS_SELECTION_TIMEOUT 0x0a |
◆ SRB_STATUS_SUCCESS
#define SRB_STATUS_SUCCESS 0x1 |
◆ STRANGE_BUFFER_LENGTH
#define STRANGE_BUFFER_LENGTH (4+512*0xf8) |
◆ TW_IOCTL_BUFFER_SIZE
◆ failuretest_permissive
unsigned char failuretest_permissive |
|
extern |
◆ os_linux_cpp_cvsid
const char* os_linux_cpp_cvsid |
Initial value:= "$Id: os_linux.cpp 5376 2022-05-01 12:49:30Z chrfranke $"
Definition at line 92 of file os_linux.cpp.