aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/ctl/ctl_frontend.h
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2013-08-24 01:50:31 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2013-08-24 01:50:31 +0000
commit81a2151d5c8f2a1cf1cdf4078b4071e1779aea40 (patch)
tree52dcb94d89496617616c044e5b34ab0f832f6721 /sys/cam/ctl/ctl_frontend.h
parent83b6a67e66d3bcf5fc9f0f767409a7109356f1e0 (diff)
downloadsrc-81a2151d5c8f2a1cf1cdf4078b4071e1779aea40.tar.gz
src-81a2151d5c8f2a1cf1cdf4078b4071e1779aea40.zip
CTL changes required for iSCSI target, most notably LUN remapping
and a mechanism to allow CTL frontends for retrieving LUN options. Reviewed by: ken (earlier version)
Notes
Notes: svn path=/head/; revision=254759
Diffstat (limited to 'sys/cam/ctl/ctl_frontend.h')
-rw-r--r--sys/cam/ctl/ctl_frontend.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_frontend.h b/sys/cam/ctl/ctl_frontend.h
index b286476c06bf..23f91b4a810e 100644
--- a/sys/cam/ctl/ctl_frontend.h
+++ b/sys/cam/ctl/ctl_frontend.h
@@ -49,6 +49,9 @@ typedef enum {
typedef void (*port_func_t)(void *onoff_arg);
typedef int (*targ_func_t)(void *arg, struct ctl_id targ_id);
typedef int (*lun_func_t)(void *arg, struct ctl_id targ_id, int lun_id);
+typedef int (*fe_ioctl_t)(struct cdev *dev, u_long cmd, caddr_t addr, int flag,
+ struct thread *td);
+typedef int (*fe_devid_t)(struct ctl_scsiio *ctsio, int alloc_len);
/*
* The ctl_frontend structure is the registration mechanism between a FETD
@@ -213,6 +216,8 @@ struct ctl_frontend {
targ_func_t targ_disable; /* passed to CTL */
lun_func_t lun_enable; /* passed to CTL */
lun_func_t lun_disable; /* passed to CTL */
+ fe_ioctl_t ioctl; /* passed to CTL */
+ fe_devid_t devid; /* passed to CTL */
void *targ_lun_arg; /* passed to CTL */
void (*fe_datamove)(union ctl_io *io); /* passed to CTL */
void (*fe_done)(union ctl_io *io); /* passed to CTL */