31#ifndef _CAM_CAM_XPT_INTERNAL_H
32#define _CAM_CAM_XPT_INTERNAL_H 1
34#include <sys/taskqueue.h>
41typedef struct cam_ed * (*xpt_alloc_device_func)(
struct cam_eb *bus,
70#define CAM_XPT_XPORT(data) \
71 DATA_SET(cam_xpt_xport_set, data)
92#define CAM_XPT_PROTO(data) \
93 DATA_SET(cam_xpt_proto_set, data)
140#define CAM_DEV_UNCONFIGURED 0x01
141#define CAM_DEV_REL_TIMEOUT_PENDING 0x02
142#define CAM_DEV_REL_ON_COMPLETE 0x04
143#define CAM_DEV_REL_ON_QUEUE_EMPTY 0x08
144#define CAM_DEV_TAG_AFTER_COUNT 0x20
145#define CAM_DEV_INQUIRY_DATA_VALID 0x40
146#define CAM_DEV_IN_DV 0x80
147#define CAM_DEV_DV_HIT_BOTTOM 0x100
148#define CAM_DEV_IDENTIFY_DATA_VALID 0x200
150#define CAM_TAG_DELAY_COUNT 5
192#define CAM_EB_RUNQ_SCHEDULED 0x01
void xpt_acquire_device(struct cam_ed *device)
void xpt_start_tags(struct cam_path *path)
void xpt_release_device(struct cam_ed *device)
struct cam_ed *(* xpt_alloc_device_func)(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id)
void(* xpt_release_device_func)(struct cam_ed *device)
void(* xpt_announce_periph_sbuf_func)(struct cam_periph *periph, struct sbuf *sbuf)
SET_DECLARE(cam_xpt_xport_set, struct xpt_xport)
void(* xpt_proto_announce_func)(struct cam_ed *)
void xpt_stop_tags(struct cam_path *path)
void(* xpt_dev_async_func)(u_int32_t async_code, struct cam_eb *bus, struct cam_et *target, struct cam_ed *device, void *async_arg)
struct cam_ed * xpt_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id)
void(* xpt_proto_announce_sbuf_func)(struct cam_ed *, struct sbuf *)
void(* xpt_announce_periph_func)(struct cam_periph *periph)
void(* xpt_proto_debug_out_func)(union ccb *)
u_int32_t xpt_dev_ccbq_resize(struct cam_path *path, int newopenings)
void(* xpt_action_func)(union ccb *start_ccb)
struct timeval last_reset
TAILQ_ENTRY(cam_eb) links
TAILQ_HEAD(, cam_et) et_entries
STAILQ_ENTRY(cam_ed) highpowerq_entry
struct task device_destroy_task
u_int32_t tag_delay_count
struct periph_list periphs
uint8_t supported_vpds_len
struct nvme_namespace_data * nvme_data
struct mmc_params mmc_ident_data
TAILQ_ENTRY(cam_ed) links
struct ata_params ident_data
struct nvme_controller_data * nvme_cdata
u_int32_t tag_saved_openings
struct scsi_inquiry_data inq_data
TAILQ_ENTRY(cam_et) links
struct timeval last_reset
struct scsi_report_luns_data * luns
TAILQ_HEAD(, cam_ed) ed_entries
struct cam_periph * periph
xpt_proto_announce_sbuf_func announce_sbuf
xpt_proto_announce_func denounce
xpt_proto_announce_func announce
xpt_proto_debug_out_func debug_out
xpt_proto_announce_sbuf_func denounce_sbuf
struct xpt_proto_ops * ops
xpt_release_device_func reldev
xpt_announce_periph_sbuf_func announce_sbuf
xpt_announce_periph_func announce
xpt_alloc_device_func alloc_device
struct xpt_xport_ops * ops