33#ifndef _CAM_CAM_COMPAT_H
34#define _CAM_CAM_COMPAT_H
40 struct thread *td,
int(*cbfnp)(
struct cdev *, u_long, caddr_t,
int,
44#define CAM_VERSION_0x16 0x16
47#define CAMIOCOMMAND_0x16 _IOC(IOC_INOUT, CAM_VERSION_0x16, 2, CAM_0X17_LEN)
48#define CAMGETPASSTHRU_0x16 _IOC(IOC_INOUT, CAM_VERSION_0x16, 3, CAM_0X17_LEN)
50#define CAM_SCATTER_VALID_0x16 0x00000010
51#define CAM_SG_LIST_PHYS_0x16 0x00040000
52#define CAM_DATA_PHYS_0x16 0x00200000
55#define CAM_VERSION_0x17 0x17
136#define CAM_0X17_DATA_LEN CAM_0X18_DATA_LEN
137#define CAM_0X17_LEN (sizeof(struct ccb_hdr_0x17) + CAM_0X17_DATA_LEN)
139#define CAMIOCOMMAND_0x17 _IOC(IOC_INOUT, CAM_VERSION_0x17, 2, CAM_0X17_LEN)
140#define CAMGETPASSTHRU_0x17 _IOC(IOC_INOUT, CAM_VERSION_0x17, 3, CAM_0X17_LEN)
143#define CAM_VERSION_0x18 0x18
217#define CAM_0X18_DATA_LEN (sizeof(union ccb) - 2*sizeof(void *) - sizeof(struct ccb_hdr))
218#define CAM_0X18_LEN (sizeof(struct ccb_hdr_0x18) + CAM_0X18_DATA_LEN)
220#define CAMIOCOMMAND_0x18 _IOC(IOC_INOUT, CAM_VERSION_0x18, 2, CAM_0X18_LEN)
221#define CAMGETPASSTHRU_0x18 _IOC(IOC_INOUT, CAM_VERSION_0x18, 3, CAM_0X18_LEN)
224#define CAM_VERSION_0x19 0x19
225#define CAMIOCOMMAND_0x19 _IOWR(CAM_VERSION_0x19, 2, union ccb)
226#define CAMGETPASSTHRU_0x19 _IOWR(CAM_VERSION_0x19, 3, union ccb)
227#define CAMIOQUEUE_0x19 _IO(CAM_VERSION_0x19, 4)
228#define CAMIOGET_0x19 _IO(CAM_VERSION_0x19, 5)
#define PATHINQ_SETTINGS_SIZE
int cam_compat_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td, int(*cbfnp)(struct cdev *, u_long, caddr_t, int, struct thread *))
struct callout * timeout_ch
void(* cbfcnp)(struct cam_periph *, union ccb *)
ccb_ppriv_area periph_priv
struct timeval softtimeout
ccb_ppriv_area periph_priv
void(* cbfcnp)(struct cam_periph *, union ccb *)
struct ccb_pathinq_settings_spi spi
u_int8_t vuhba_flags[VUHBALEN]
struct ccb_pathinq_settings_fc fc
struct ccb_pathinq_settings_sas sas
u_int32_t base_transfer_speed
union ccb_pathinq_0x17::@6 xport_specific
char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE]
struct ccb_hdr_0x17 ccb_h
struct ccb_trans_settings_sata sata
struct ccb_trans_settings_sas sas
struct ccb_trans_settings_scsi scsi
union ccb_trans_settings_0x17::@8 xport_specific
struct ccb_trans_settings_fc fc
struct ccb_hdr_0x17 ccb_h
struct ccb_trans_settings_spi spi
union ccb_trans_settings_0x17::@7 proto_specific
struct ccb_trans_settings_ata ata
struct ccb_trans_settings_sas sas
struct ccb_trans_settings_ata ata
union ccb_trans_settings_0x18::@9 proto_specific
struct ccb_trans_settings_fc fc
struct ccb_trans_settings_spi spi
union ccb_trans_settings_0x18::@10 xport_specific
struct ccb_trans_settings_scsi scsi
struct ccb_trans_settings_sata sata
struct ccb_hdr_0x18 ccb_h
struct ata_params ident_data
char periph_name[DEV_IDLEN]
struct dev_match_result_0x18::@11::@12 periph_result
struct dev_match_result_0x18::@11::@13 device_result
struct bus_match_result bus_result
union dev_match_result_0x18::@11 result
struct scsi_inquiry_data inq_data