FreeBSD kernel CAM code
|
#include <sys/cdefs.h>
Go to the source code of this file.
Data Structures | |
struct | scsi_exchange_medium |
struct | scsi_initialize_element_status |
struct | scsi_move_medium |
struct | scsi_position_to_element |
struct | scsi_read_element_status |
struct | scsi_request_volume_element_address |
struct | read_element_status_header |
struct | read_element_status_page_header |
struct | volume_tag |
struct | read_element_status_device_id |
struct | read_element_status_descriptor |
struct | scsi_send_volume_tag |
struct | scsi_send_volume_tag_parameters |
struct | page_device_capabilities |
struct | page_element_address_assignment |
struct | page_transport_geometry_parameters |
Functions | |
__BEGIN_DECLS void | scsi_move_medium (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int32_t tea, u_int32_t src, u_int32_t dst, int invert, u_int8_t sense_len, u_int32_t timeout) |
void | scsi_exchange_medium (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int32_t tea, u_int32_t src, u_int32_t dst1, u_int32_t dst2, int invert1, int invert2, u_int8_t sense_len, u_int32_t timeout) |
void | scsi_position_to_element (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int32_t tea, u_int32_t dst, int invert, u_int8_t sense_len, u_int32_t timeout) |
void | scsi_read_element_status (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, int voltag, u_int32_t sea, int curdata, int dvcid, u_int32_t count, u_int8_t *data_ptr, u_int32_t dxfer_len, u_int8_t sense_len, u_int32_t timeout) |
void | scsi_initialize_element_status (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t sense_len, u_int32_t timeout) |
void | scsi_send_volume_tag (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int16_t element_address, u_int8_t send_action_code, struct scsi_send_volume_tag_parameters *parameters, u_int8_t sense_len, u_int32_t timeout) |
#define ELEMENT_TYPE_MASK 0x0f /* Note: these aren't bits */ |
#define PGCODE_MASK 0x3f /* valid page number bits in pg_code */ |
#define READ_ELEMENT_STATUS_CURDATA 0x02 /* allow motion during command */ |
#define READ_ELEMENT_STATUS_DESIGNATOR_TYPE | ( | p | ) | ((p) & 0x0F) |
#define READ_ELEMENT_STATUS_DVCID 0x01 /* report device serial number */ |
#define READ_ELEMENT_STATUS_VOLTAG 0x10 /* report volume tag info */ |
void scsi_exchange_medium | ( | struct ccb_scsiio * | csio, |
u_int32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
u_int8_t | tag_action, | ||
u_int32_t | tea, | ||
u_int32_t | src, | ||
u_int32_t | dst1, | ||
u_int32_t | dst2, | ||
int | invert1, | ||
int | invert2, | ||
u_int8_t | sense_len, | ||
u_int32_t | timeout | ||
) |
Definition at line 1763 of file scsi_ch.c.
References CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, EXCHANGE_MEDIUM, EXCHANGE_MEDIUM_INV1, EXCHANGE_MEDIUM_INV2, scsi_exchange_medium::fdst, scsi_exchange_medium::invert, scsi_exchange_medium::opcode, scsi_ulto2b(), scsi_exchange_medium::sdst, scsi_exchange_medium::src, and scsi_exchange_medium::tea.
Referenced by chexchange().
void scsi_initialize_element_status | ( | struct ccb_scsiio * | csio, |
u_int32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
u_int8_t | tag_action, | ||
u_int8_t | sense_len, | ||
u_int32_t | timeout | ||
) |
Definition at line 1870 of file scsi_ch.c.
References CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, INITIALIZE_ELEMENT_STATUS, and scsi_initialize_element_status::opcode.
Referenced by chielem().
__BEGIN_DECLS void scsi_move_medium | ( | struct ccb_scsiio * | csio, |
u_int32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
u_int8_t | tag_action, | ||
u_int32_t | tea, | ||
u_int32_t | src, | ||
u_int32_t | dst, | ||
int | invert, | ||
u_int8_t | sense_len, | ||
u_int32_t | timeout | ||
) |
Definition at line 1730 of file scsi_ch.c.
References CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_move_medium::dst, scsi_move_medium::invert, MOVE_MEDIUM, MOVE_MEDIUM_INVERT, scsi_move_medium::opcode, scsi_ulto2b(), scsi_move_medium::src, and scsi_move_medium::tea.
Referenced by chmove().
void scsi_position_to_element | ( | struct ccb_scsiio * | csio, |
u_int32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
u_int8_t | tag_action, | ||
u_int32_t | tea, | ||
u_int32_t | dst, | ||
int | invert, | ||
u_int8_t | sense_len, | ||
u_int32_t | timeout | ||
) |
Definition at line 1800 of file scsi_ch.c.
References CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_position_to_element::dst, scsi_position_to_element::invert, scsi_position_to_element::opcode, POSITION_TO_ELEMENT, POSITION_TO_ELEMENT_INVERT, scsi_ulto2b(), and scsi_position_to_element::tea.
Referenced by chposition().
void scsi_read_element_status | ( | struct ccb_scsiio * | csio, |
u_int32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
u_int8_t | tag_action, | ||
int | voltag, | ||
u_int32_t | sea, | ||
int | curdata, | ||
int | dvcid, | ||
u_int32_t | count, | ||
u_int8_t * | data_ptr, | ||
u_int32_t | dxfer_len, | ||
u_int8_t | sense_len, | ||
u_int32_t | timeout | ||
) |
Definition at line 1831 of file scsi_ch.c.
References scsi_read_element_status::byte2, CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_read_element_status::count, scsi_read_element_status::flags, scsi_read_element_status::len, scsi_read_element_status::opcode, READ_ELEMENT_STATUS, READ_ELEMENT_STATUS_CURDATA, READ_ELEMENT_STATUS_DVCID, READ_ELEMENT_STATUS_VOLTAG, scsi_ulto2b(), scsi_ulto3b(), and scsi_read_element_status::sea.
Referenced by chgetelemstatus().
void scsi_send_volume_tag | ( | struct ccb_scsiio * | csio, |
u_int32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
u_int8_t | tag_action, | ||
u_int16_t | element_address, | ||
u_int8_t | send_action_code, | ||
struct scsi_send_volume_tag_parameters * | parameters, | ||
u_int8_t | sense_len, | ||
u_int32_t | timeout | ||
) |
Definition at line 1896 of file scsi_ch.c.
References CAM_DIR_OUT, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_send_volume_tag::ea, scsi_send_volume_tag::opcode, scsi_send_volume_tag::pll, scsi_send_volume_tag::sac, scsi_ulto2b(), and SEND_VOLUME_TAG.
Referenced by chsetvoltag().