38#include <sys/kernel.h>
44#include <sys/sysctl.h>
45#include <sys/kthread.h>
58 int flag,
struct thread *td, d_ioctl_t *cbfnp);
60 int flag,
struct thread *td, d_ioctl_t *cbfnp);
62 int flag,
struct thread *td, d_ioctl_t *cbfnp);
67 struct thread *td, d_ioctl_t *cbfnp)
78 hdr17->
flags &= ~CAM_SG_LIST_PHYS_0x16;
82 hdr17->
flags &= ~CAM_DATA_PHYS_0x16;
138 struct thread *td, d_ioctl_t *cbfnp)
143 uint8_t *ccbb, *ccbb17;
170 ccbb = (uint8_t *)&hdr[1];
171 ccbb17 = (uint8_t *)&hdr17[1];
276 struct thread *td, d_ioctl_t *cbfnp)
281 uint8_t *ccbb, *ccbb18;
310 ccbb = (uint8_t *)&hdr[1];
311 ccbb18 = (uint8_t *)&hdr18[1];
388 bzero(&mapinfo,
sizeof(mapinfo));
397 switch (dm[i].
type) {
399 memcpy(&dm18[i].
result.periph_result.periph_name,
420 memcpy(&dm18[i].
result.device_result.inq_data,
423 memcpy(&dm18[i].
result.device_result.ident_data,
425 sizeof(
struct ata_params));
430 memcpy(&dm18[i].
result.bus_result,
444 struct thread *td, d_ioctl_t *cbfnp)
450 bzero(&mapinfo,
sizeof(mapinfo));
467 return ((cbfnp)(dev, cmd, addr, flag, td));
#define PATHINQ_SETTINGS_SIZE
static int cam_compat_handle_0x17(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td, d_ioctl_t *cbfnp)
static int cam_compat_handle_0x18(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td, d_ioctl_t *cbfnp)
static int cam_compat_handle_0x19(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td, d_ioctl_t *cbfnp)
int cam_compat_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td, d_ioctl_t *cbfnp)
static int cam_compat_translate_dev_match_0x18(union ccb *ccb)
#define CAMIOCOMMAND_0x17
#define CAM_SCATTER_VALID_0x16
#define CAMGETPASSTHRU_0x17
#define CAMGETPASSTHRU_0x18
#define CAMIOCOMMAND_0x19
#define CAMGETPASSTHRU_0x16
#define CAMIOCOMMAND_0x16
#define CAM_SG_LIST_PHYS_0x16
#define CAM_0X18_DATA_LEN
#define CAM_DATA_PHYS_0x16
#define CAM_0X17_DATA_LEN
#define CAMIOCOMMAND_0x18
#define CAMGETPASSTHRU_0x19
void cam_periph_unmapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo)
int cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo, u_int maxmap)
union ccb * xpt_alloc_ccb(void)
void xpt_free_ccb(union ccb *free_ccb)
struct ccb_trans_settings_mmc * cts
struct dev_match_result * matches
struct dev_match_pattern * patterns
void(* cbfcnp)(struct cam_periph *, union ccb *)
ccb_ppriv_area periph_priv
ccb_ppriv_area periph_priv
void(* cbfcnp)(struct cam_periph *, union ccb *)
ccb_ppriv_area periph_priv
struct timeval softtimeout
void(* cbfcnp)(struct cam_periph *, union ccb *)
u_int8_t vuhba_flags[VUHBALEN]
u_int32_t base_transfer_speed
union ccb_pathinq_0x17::@6 xport_specific
union ccb_pathinq::@2 xport_specific
u_int8_t vuhba_flags[VUHBALEN]
u_int32_t base_transfer_speed
union ccb_trans_settings_0x17::@8 xport_specific
union ccb_trans_settings_0x17::@7 proto_specific
union ccb_trans_settings_0x18::@9 proto_specific
union ccb_trans_settings_0x18::@10 xport_specific
union match_pattern pattern
struct dev_match_result_0x18::@11::@12 periph_result
struct dev_match_result_0x18::@11::@13 device_result
union dev_match_result_0x18::@11 result
union match_result result
struct scsi_inquiry_data inq_data
struct ata_params ident_data
periph_pattern_flags flags
char periph_name[DEV_IDLEN]
struct ccb_trans_settings cts
struct bus_match_pattern bus_pattern
struct device_match_pattern device_pattern
struct periph_match_pattern periph_pattern
struct device_match_result device_result
struct bus_match_result bus_result
struct periph_match_result periph_result