FreeBSD kernel CAM code
cam_compat.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/types.h>
#include <sys/kernel.h>
#include <sys/conf.h>
#include <sys/fcntl.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/sysctl.h>
#include <sys/kthread.h>
#include <cam/cam.h>
#include <cam/cam_ccb.h>
#include <cam/cam_xpt.h>
#include <cam/cam_compat.h>
#include <cam/cam_periph.h>
#include <cam/scsi/scsi_pass.h>
#include "opt_cam.h"
Include dependency graph for cam_compat.c:

Go to the source code of this file.

Functions

 __FBSDID ("$FreeBSD$")
 
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)
 
static int cam_compat_translate_dev_match_0x18 (union ccb *ccb)
 
int cam_compat_ioctl (struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td, d_ioctl_t *cbfnp)
 

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ cam_compat_handle_0x17()

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

Definition at line 137 of file cam_compat.c.

References ccb_pathinq::async_flags, ccb_pathinq_0x17::async_flags, ccb_pathinq::base_transfer_speed, ccb_pathinq_0x17::base_transfer_speed, ccb_pathinq::bus_id, ccb_pathinq_0x17::bus_id, CAM_0X17_DATA_LEN, cam_compat_handle_0x19(), cam_compat_translate_dev_match_0x18(), ccb_hdr::cbfcnp, ccb_hdr_0x17::cbfcnp, ccb, ccb::ccb_h, ccb::cpi, ccb::cts, cts, DEV_IDLEN, ccb_pathinq::dev_name, ccb_pathinq_0x17::dev_name, ccb_hdr::flags, ccb_hdr_0x17::flags, ccb_hdr::func_code, ccb_hdr_0x17::func_code, ccb_pathinq::hba_device, ccb_pathinq_0x17::hba_device, ccb_pathinq::hba_eng_cnt, ccb_pathinq_0x17::hba_eng_cnt, HBA_IDLEN, ccb_pathinq::hba_inquiry, ccb_pathinq_0x17::hba_inquiry, ccb_pathinq::hba_misc, ccb_pathinq_0x17::hba_misc, ccb_pathinq::hba_subdevice, ccb_pathinq_0x17::hba_subdevice, ccb_pathinq::hba_subvendor, ccb_pathinq_0x17::hba_subvendor, ccb_pathinq::hba_vendor, ccb_pathinq_0x17::hba_vendor, ccb_pathinq::hba_vid, ccb_pathinq_0x17::hba_vid, ccb_pathinq::hpath_id, ccb_pathinq_0x17::hpath_id, ccb_pathinq::initiator_id, ccb_pathinq_0x17::initiator_id, ccb_pathinq::max_lun, ccb_pathinq_0x17::max_lun, ccb_pathinq::max_target, ccb_pathinq_0x17::max_target, ccb_pathinq::maxio, ccb_pathinq_0x17::maxio, ccb_hdr::path, ccb_hdr_0x17::path, ccb_hdr::path_id, ccb_hdr_0x17::path_id, PATHINQ_SETTINGS_SIZE, ccb_hdr::periph_links, ccb_hdr_0x17::periph_links, ccb_hdr::periph_priv, ccb_hdr_0x17::periph_priv, ccb_hdr::pinfo, ccb_hdr_0x17::pinfo, ccb_trans_settings_0x17::proto_specific, ccb_pathinq::protocol, ccb_pathinq_0x17::protocol, ccb_trans_settings_0x17::protocol, ccb_pathinq::protocol_version, ccb_pathinq_0x17::protocol_version, ccb_trans_settings_0x17::protocol_version, ccb_hdr::retry_count, ccb_hdr_0x17::retry_count, SIM_IDLEN, ccb_hdr::sim_links, ccb_hdr_0x17::sim_links, ccb_hdr::sim_priv, ccb_hdr_0x17::sim_priv, ccb_pathinq::sim_vid, ccb_pathinq_0x17::sim_vid, ccb_hdr::softtimeout, ccb_hdr::status, ccb_hdr_0x17::status, ccb_hdr::target_id, ccb_hdr_0x17::target_id, ccb_hdr::target_lun, ccb_hdr_0x17::target_lun, ccb_pathinq::target_sprt, ccb_pathinq_0x17::target_sprt, ccb_hdr::timeout, ccb_hdr_0x17::timeout, ccb_pathinq::transport, ccb_pathinq_0x17::transport, ccb_trans_settings_0x17::transport, ccb_pathinq::transport_version, ccb_pathinq_0x17::transport_version, ccb_trans_settings_0x17::transport_version, ccb_trans_settings_0x17::type, ccb_pathinq::unit_number, ccb_pathinq_0x17::unit_number, ccb_pathinq::version_num, ccb_pathinq_0x17::version_num, ccb_pathinq::vuhba_flags, ccb_pathinq_0x17::vuhba_flags, VUHBALEN, ccb_hdr::xflags, ccb_pathinq::xport_specific, ccb_pathinq_0x17::xport_specific, ccb_trans_settings_0x17::xport_specific, xpt_alloc_ccb(), XPT_DEV_MATCH, xpt_free_ccb(), XPT_GET_TRAN_SETTINGS, ccb_hdr::xpt_links, ccb_hdr_0x17::xpt_links, XPT_PATH_INQ, and XPT_SET_TRAN_SETTINGS.

Referenced by cam_compat_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cam_compat_handle_0x18()

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

◆ cam_compat_handle_0x19()

static int cam_compat_handle_0x19 ( struct cdev *  dev,
u_long  cmd,
caddr_t  addr,
int  flag,
struct thread *  td,
d_ioctl_t *  cbfnp 
)
static

◆ cam_compat_ioctl()

int cam_compat_ioctl ( struct cdev *  dev,
u_long  cmd,
caddr_t  addr,
int  flag,
struct thread *  td,
d_ioctl_t *  cbfnp 
)

◆ cam_compat_translate_dev_match_0x18()