smartmontools SVN Rev 5611
Utility to control and monitor storage systems with "S.M.A.R.T."
Classes | Macros | Typedefs | Enumerations | Variables
os_freebsd.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  __packed
 
union  TWE_Command
 
union  TWE_Response_Queue
 
struct  twe_usercommand
 
struct  tw_cl_event_packet
 
struct  tw_cl_command_init_connect
 
struct  tw_cl_command_download_firmware
 
struct  tw_cl_command_reset_firmware
 
struct  tw_cl_command_param
 
struct  tw_cl_command_generic
 
struct  tw_cl_command_header
 
union  tw_cl_command_7k
 
struct  tw_cl_command_9k
 
struct  tw_cl_command_packet
 
struct  tw_cl_lock_packet
 
struct  tw_cl_compatibility_packet
 
struct  tw_cl_driver_packet
 
struct  tw_osli_ioctl_no_data_buf
 
struct  tw_osli_ioctl_with_payload
 
struct  _HPT_CHANNEL_INFO
 
struct  _HPT_CHANNEL_INFO_V2
 
struct  _HPT_IOCTL_PARAM
 
struct  _HPT_PASS_THROUGH_HEADER
 
struct  mfi_sg32
 
struct  mfi_sg64
 
struct  mfi_sg_skinny
 
union  mfi_sgl
 
struct  mfi_frame_header
 
struct  mfi_pass_frame
 
struct  mfi_dcmd_frame
 
struct  mfi_ioc_packet
 
struct  mfi_pd_address
 
struct  mfi_pd_list
 

Macros

#define OS_FREEBSD_H_CVSID   "$Id: os_freebsd.h 5247 2021-11-23 12:08:56Z samm2 $"
 
#define MAX_NUM_DEV   26
 
#define __packed   __attribute__((__packed__))
 The following cut out of twereg.h.
 
#define TWE_MAX_SGL_LENGTH   62
 
#define TWE_MAX_ATA_SGL_LENGTH   60
 
#define TWE_OP_ATA_PASSTHROUGH   0x11
 
#define TWE_OP_HOTSWAP_REMOVE   0x00 /* remove assumed-degraded unit */
 
#define TWE_OP_HOTSWAP_ADD_CBOD   0x01 /* add CBOD to empty port */
 
#define TWE_OP_HOTSWAP_ADD_SPARE   0x02 /* add spare to empty port */
 
#define TWE_OP_SETATAFEATURE_WCE   0x02
 
#define TWE_OP_SETATAFEATURE_DIS_WCE   0x82
 
#define TWE_OP_REBUILDUNIT_NOP   0
 
#define TWE_OP_REBUILDUNIT_STOP   2 /* stop all rebuilds */
 
#define TWE_OP_REBUILDUNIT_START   4 /* start rebuild with lowest unit */
 
#define TWE_OP_REBUILDUNIT_STARTUNIT   5 /* rebuild src_unit (not supported) */
 
#define TWE_FLAGS_SUCCESS   0x00
 
#define TWE_FLAGS_INFORMATIONAL   0x01
 
#define TWE_FLAGS_WARNING   0x02
 
#define TWE_FLAGS_FATAL   0x03
 
#define TWE_FLAGS_PERCENTAGE   (1<<8) /* bits 0-6 indicate completion percentage */
 
#define TWEIO_COMMAND   _IOWR('T', 100, struct twe_usercommand)
 
#define TWA_FW_CMD_ATA_PASSTHROUGH   0x11
 
#define TWA_SENSE_DATA_LENGTH   18
 
#define TW_OSL_IOCTL_FIRMWARE_PASS_THROUGH    _IOWR('T', 202, TW_OSLI_IOCTL_NO_DATA_BUF)
 
#define HPT_CTL_CODE(x)   (x+0xFF00)
 
#define HPT_IOCTL_GET_CHANNEL_INFO   HPT_CTL_CODE(3)
 
#define HPT_IOCTL_GET_CHANNEL_INFO_V2   HPT_CTL_CODE(53)
 
#define HPT_IOCTL_IDE_PASS_THROUGH   HPT_CTL_CODE(24)
 
#define HPT_READ   1
 
#define HPT_WRITE   2
 
#define HPT_IOCTL_MAGIC   0xA1B2C3D4
 
#define MAXDEV_PER_CHANNEL   2
 
#define PMPORT_PER_CHANNEL   15 /* max devices connected to this channel via pmport */
 
#define HPT_DO_IOCONTROL   _IOW('H', 0, HPT_IOCTL_PARAM)
 
#define __unused   __attribute__ ((__unused__))
 
#define MFI_STAT_OK   0x00
 
#define MFI_DCMD_PD_GET_LIST   0x02010000
 
#define MFI_CTRLR_PREFIX   "/dev/mfi"
 
#define MRSAS_CTRLR_PREFIX   "/dev/mrsas"
 
#define MFI_FRAME_POST_IN_REPLY_QUEUE   0x0000
 
#define MFI_FRAME_DONT_POST_IN_REPLY_QUEUE   0x0001
 
#define MFI_FRAME_SGL32   0x0000
 
#define MFI_FRAME_SGL64   0x0002
 
#define MFI_FRAME_SENSE32   0x0000
 
#define MFI_FRAME_SENSE64   0x0004
 
#define MFI_FRAME_DIR_NONE   0x0000
 
#define MFI_FRAME_DIR_WRITE   0x0008
 
#define MFI_FRAME_DIR_READ   0x0010
 
#define MFI_FRAME_DIR_BOTH   0x0018
 
#define MFI_FRAME_IEEE_SGL   0x0020
 
#define MFI_FRAME_FMT
 
#define MFI_FRAME_DATAOUT   0x08
 
#define MFI_FRAME_DATAIN   0x10
 
#define MFI_PASS_FRAME_SIZE   48
 
#define MFI_DCMD_FRAME_SIZE   40
 
#define MFI_MBOX_SIZE   12
 
#define MAX_IOCTL_SGE   16
 
#define MAX_SYS_PDS   240
 
#define MFI_CMD   _IOWR('M', 1, struct mfi_ioc_packet)
 

Typedefs

typedef void TW_VOID
 
typedef char TW_INT8
 
typedef unsigned char TW_UINT8
 
typedef short TW_INT16
 
typedef unsigned short TW_UINT16
 
typedef int TW_INT32
 
typedef unsigned int TW_UINT32
 
typedef long long TW_INT64
 
typedef unsigned long long TW_UINT64
 
typedef struct tw_osli_ioctl_no_data_buf TW_OSLI_IOCTL_NO_DATA_BUF
 
typedef struct tw_osli_ioctl_with_payload TW_OSLI_IOCTL_WITH_PAYLOAD
 
typedef struct _HPT_CHANNEL_INFO HPT_CHANNEL_INFO
 
typedef struct _HPT_CHANNEL_INFOPHPT_CHANNEL_INFO
 
typedef struct _HPT_CHANNEL_INFO_V2 HPT_CHANNEL_INFO_V2
 
typedef struct _HPT_CHANNEL_INFO_V2PHPT_CHANNEL_INFO_V2
 
typedef struct _HPT_IOCTL_PARAM HPT_IOCTL_PARAM
 
typedef struct _HPT_IOCTL_PARAMPHPT_IOCTL_PARAM
 
typedef struct _HPT_PASS_THROUGH_HEADER HPT_PASS_THROUGH_HEADER
 
typedef struct _HPT_PASS_THROUGH_HEADERPHPT_PASS_THROUGH_HEADER
 

Enumerations

enum  mfi_cmd_t {
  MFI_CMD_INIT = 0x00 , MFI_CMD_LD_READ , MFI_CMD_LD_WRITE , MFI_CMD_LD_SCSI_IO ,
  MFI_CMD_PD_SCSI_IO , MFI_CMD_DCMD , MFI_CMD_ABORT , MFI_CMD_SMP ,
  MFI_CMD_STP
}
 

Variables

struct mfi_sg32 __packed
 

Macro Definition Documentation

◆ __packed

struct mfi_pd_list __packed   __attribute__((__packed__))

The following cut out of twereg.h.

Definition at line 84 of file os_freebsd.h.

◆ __unused

#define __unused   __attribute__ ((__unused__))

Definition at line 606 of file os_freebsd.h.

◆ HPT_CTL_CODE

#define HPT_CTL_CODE (   x)    (x+0xFF00)

Definition at line 552 of file os_freebsd.h.

◆ HPT_DO_IOCONTROL

#define HPT_DO_IOCONTROL   _IOW('H', 0, HPT_IOCTL_PARAM)

Definition at line 587 of file os_freebsd.h.

◆ HPT_IOCTL_GET_CHANNEL_INFO

#define HPT_IOCTL_GET_CHANNEL_INFO   HPT_CTL_CODE(3)

Definition at line 553 of file os_freebsd.h.

◆ HPT_IOCTL_GET_CHANNEL_INFO_V2

#define HPT_IOCTL_GET_CHANNEL_INFO_V2   HPT_CTL_CODE(53)

Definition at line 554 of file os_freebsd.h.

◆ HPT_IOCTL_IDE_PASS_THROUGH

#define HPT_IOCTL_IDE_PASS_THROUGH   HPT_CTL_CODE(24)

Definition at line 555 of file os_freebsd.h.

◆ HPT_IOCTL_MAGIC

#define HPT_IOCTL_MAGIC   0xA1B2C3D4

Definition at line 560 of file os_freebsd.h.

◆ HPT_READ

#define HPT_READ   1

Definition at line 557 of file os_freebsd.h.

◆ HPT_WRITE

#define HPT_WRITE   2

Definition at line 558 of file os_freebsd.h.

◆ MAX_IOCTL_SGE

#define MAX_IOCTL_SGE   16

Definition at line 717 of file os_freebsd.h.

◆ MAX_NUM_DEV

#define MAX_NUM_DEV   26

Definition at line 74 of file os_freebsd.h.

◆ MAX_SYS_PDS

#define MAX_SYS_PDS   240

Definition at line 760 of file os_freebsd.h.

◆ MAXDEV_PER_CHANNEL

#define MAXDEV_PER_CHANNEL   2

Definition at line 562 of file os_freebsd.h.

◆ MFI_CMD

#define MFI_CMD   _IOWR('M', 1, struct mfi_ioc_packet)

Definition at line 767 of file os_freebsd.h.

◆ MFI_CTRLR_PREFIX

#define MFI_CTRLR_PREFIX   "/dev/mfi"

Definition at line 614 of file os_freebsd.h.

◆ MFI_DCMD_FRAME_SIZE

#define MFI_DCMD_FRAME_SIZE   40

Definition at line 707 of file os_freebsd.h.

◆ MFI_DCMD_PD_GET_LIST

#define MFI_DCMD_PD_GET_LIST   0x02010000

Definition at line 612 of file os_freebsd.h.

◆ MFI_FRAME_DATAIN

#define MFI_FRAME_DATAIN   0x10

Definition at line 693 of file os_freebsd.h.

◆ MFI_FRAME_DATAOUT

#define MFI_FRAME_DATAOUT   0x08

Definition at line 692 of file os_freebsd.h.

◆ MFI_FRAME_DIR_BOTH

#define MFI_FRAME_DIR_BOTH   0x0018

Definition at line 629 of file os_freebsd.h.

◆ MFI_FRAME_DIR_NONE

#define MFI_FRAME_DIR_NONE   0x0000

Definition at line 626 of file os_freebsd.h.

◆ MFI_FRAME_DIR_READ

#define MFI_FRAME_DIR_READ   0x0010

Definition at line 628 of file os_freebsd.h.

◆ MFI_FRAME_DIR_WRITE

#define MFI_FRAME_DIR_WRITE   0x0008

Definition at line 627 of file os_freebsd.h.

◆ MFI_FRAME_DONT_POST_IN_REPLY_QUEUE

#define MFI_FRAME_DONT_POST_IN_REPLY_QUEUE   0x0001

Definition at line 621 of file os_freebsd.h.

◆ MFI_FRAME_FMT

#define MFI_FRAME_FMT
Value:
"\20" \
"\1NOPOST" \
"\2SGL64" \
"\3SENSE64" \
"\4WRITE" \
"\5READ" \
"\6IEEESGL"

Definition at line 631 of file os_freebsd.h.

◆ MFI_FRAME_IEEE_SGL

#define MFI_FRAME_IEEE_SGL   0x0020

Definition at line 630 of file os_freebsd.h.

◆ MFI_FRAME_POST_IN_REPLY_QUEUE

#define MFI_FRAME_POST_IN_REPLY_QUEUE   0x0000

Definition at line 620 of file os_freebsd.h.

◆ MFI_FRAME_SENSE32

#define MFI_FRAME_SENSE32   0x0000

Definition at line 624 of file os_freebsd.h.

◆ MFI_FRAME_SENSE64

#define MFI_FRAME_SENSE64   0x0004

Definition at line 625 of file os_freebsd.h.

◆ MFI_FRAME_SGL32

#define MFI_FRAME_SGL32   0x0000

Definition at line 622 of file os_freebsd.h.

◆ MFI_FRAME_SGL64

#define MFI_FRAME_SGL64   0x0002

Definition at line 623 of file os_freebsd.h.

◆ MFI_MBOX_SIZE

#define MFI_MBOX_SIZE   12

Definition at line 708 of file os_freebsd.h.

◆ MFI_PASS_FRAME_SIZE

#define MFI_PASS_FRAME_SIZE   48

Definition at line 698 of file os_freebsd.h.

◆ MFI_STAT_OK

#define MFI_STAT_OK   0x00

Definition at line 611 of file os_freebsd.h.

◆ MRSAS_CTRLR_PREFIX

#define MRSAS_CTRLR_PREFIX   "/dev/mrsas"

Definition at line 615 of file os_freebsd.h.

◆ OS_FREEBSD_H_CVSID

#define OS_FREEBSD_H_CVSID   "$Id: os_freebsd.h 5247 2021-11-23 12:08:56Z samm2 $"

Definition at line 72 of file os_freebsd.h.

◆ PMPORT_PER_CHANNEL

#define PMPORT_PER_CHANNEL   15 /* max devices connected to this channel via pmport */

Definition at line 563 of file os_freebsd.h.

◆ TW_OSL_IOCTL_FIRMWARE_PASS_THROUGH

#define TW_OSL_IOCTL_FIRMWARE_PASS_THROUGH    _IOWR('T', 202, TW_OSLI_IOCTL_NO_DATA_BUF)

Definition at line 531 of file os_freebsd.h.

◆ TWA_FW_CMD_ATA_PASSTHROUGH

#define TWA_FW_CMD_ATA_PASSTHROUGH   0x11

Definition at line 341 of file os_freebsd.h.

◆ TWA_SENSE_DATA_LENGTH

#define TWA_SENSE_DATA_LENGTH   18

Definition at line 343 of file os_freebsd.h.

◆ TWE_FLAGS_FATAL

#define TWE_FLAGS_FATAL   0x03

Definition at line 240 of file os_freebsd.h.

◆ TWE_FLAGS_INFORMATIONAL

#define TWE_FLAGS_INFORMATIONAL   0x01

Definition at line 238 of file os_freebsd.h.

◆ TWE_FLAGS_PERCENTAGE

#define TWE_FLAGS_PERCENTAGE   (1<<8) /* bits 0-6 indicate completion percentage */

Definition at line 241 of file os_freebsd.h.

◆ TWE_FLAGS_SUCCESS

#define TWE_FLAGS_SUCCESS   0x00

Definition at line 237 of file os_freebsd.h.

◆ TWE_FLAGS_WARNING

#define TWE_FLAGS_WARNING   0x02

Definition at line 239 of file os_freebsd.h.

◆ TWE_MAX_ATA_SGL_LENGTH

#define TWE_MAX_ATA_SGL_LENGTH   60

Definition at line 88 of file os_freebsd.h.

◆ TWE_MAX_SGL_LENGTH

#define TWE_MAX_SGL_LENGTH   62

Definition at line 87 of file os_freebsd.h.

◆ TWE_OP_ATA_PASSTHROUGH

#define TWE_OP_ATA_PASSTHROUGH   0x11

Definition at line 89 of file os_freebsd.h.

◆ TWE_OP_HOTSWAP_ADD_CBOD

#define TWE_OP_HOTSWAP_ADD_CBOD   0x01 /* add CBOD to empty port */

Definition at line 138 of file os_freebsd.h.

◆ TWE_OP_HOTSWAP_ADD_SPARE

#define TWE_OP_HOTSWAP_ADD_SPARE   0x02 /* add spare to empty port */

Definition at line 139 of file os_freebsd.h.

◆ TWE_OP_HOTSWAP_REMOVE

#define TWE_OP_HOTSWAP_REMOVE   0x00 /* remove assumed-degraded unit */

Definition at line 137 of file os_freebsd.h.

◆ TWE_OP_REBUILDUNIT_NOP

#define TWE_OP_REBUILDUNIT_NOP   0

Definition at line 199 of file os_freebsd.h.

◆ TWE_OP_REBUILDUNIT_START

#define TWE_OP_REBUILDUNIT_START   4 /* start rebuild with lowest unit */

Definition at line 201 of file os_freebsd.h.

◆ TWE_OP_REBUILDUNIT_STARTUNIT

#define TWE_OP_REBUILDUNIT_STARTUNIT   5 /* rebuild src_unit (not supported) */

Definition at line 202 of file os_freebsd.h.

◆ TWE_OP_REBUILDUNIT_STOP

#define TWE_OP_REBUILDUNIT_STOP   2 /* stop all rebuilds */

Definition at line 200 of file os_freebsd.h.

◆ TWE_OP_SETATAFEATURE_DIS_WCE

#define TWE_OP_SETATAFEATURE_DIS_WCE   0x82

Definition at line 155 of file os_freebsd.h.

◆ TWE_OP_SETATAFEATURE_WCE

#define TWE_OP_SETATAFEATURE_WCE   0x02

Definition at line 154 of file os_freebsd.h.

◆ TWEIO_COMMAND

#define TWEIO_COMMAND   _IOWR('T', 100, struct twe_usercommand)

Definition at line 292 of file os_freebsd.h.

Typedef Documentation

◆ HPT_CHANNEL_INFO

◆ HPT_CHANNEL_INFO_V2

◆ HPT_IOCTL_PARAM

◆ HPT_PASS_THROUGH_HEADER

◆ PHPT_CHANNEL_INFO

◆ PHPT_CHANNEL_INFO_V2

◆ PHPT_IOCTL_PARAM

◆ PHPT_PASS_THROUGH_HEADER

◆ TW_INT16

typedef short TW_INT16

Definition at line 307 of file os_freebsd.h.

◆ TW_INT32

typedef int TW_INT32

Definition at line 309 of file os_freebsd.h.

◆ TW_INT64

typedef long long TW_INT64

Definition at line 311 of file os_freebsd.h.

◆ TW_INT8

typedef char TW_INT8

Definition at line 305 of file os_freebsd.h.

◆ TW_OSLI_IOCTL_NO_DATA_BUF

◆ TW_OSLI_IOCTL_WITH_PAYLOAD

◆ TW_UINT16

typedef unsigned short TW_UINT16

Definition at line 308 of file os_freebsd.h.

◆ TW_UINT32

typedef unsigned int TW_UINT32

Definition at line 310 of file os_freebsd.h.

◆ TW_UINT64

typedef unsigned long long TW_UINT64

Definition at line 312 of file os_freebsd.h.

◆ TW_UINT8

typedef unsigned char TW_UINT8

Definition at line 306 of file os_freebsd.h.

◆ TW_VOID

typedef void TW_VOID

Definition at line 304 of file os_freebsd.h.

Enumeration Type Documentation

◆ mfi_cmd_t

enum mfi_cmd_t
Enumerator
MFI_CMD_INIT 
MFI_CMD_LD_READ 
MFI_CMD_LD_WRITE 
MFI_CMD_LD_SCSI_IO 
MFI_CMD_PD_SCSI_IO 
MFI_CMD_DCMD 
MFI_CMD_ABORT 
MFI_CMD_SMP 
MFI_CMD_STP 

Definition at line 640 of file os_freebsd.h.

Variable Documentation

◆ __packed