aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_transport_iscsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scsi/scsi_transport_iscsi.h')
-rw-r--r--include/scsi/scsi_transport_iscsi.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h
index d5c218ddc527..706c0cd36c14 100644
--- a/include/scsi/scsi_transport_iscsi.h
+++ b/include/scsi/scsi_transport_iscsi.h
@@ -79,7 +79,8 @@ struct iscsi_transport {
79 char *name; 79 char *name;
80 unsigned int caps; 80 unsigned int caps;
81 /* LLD sets this to indicate what values it can export to sysfs */ 81 /* LLD sets this to indicate what values it can export to sysfs */
82 unsigned int param_mask; 82 uint64_t param_mask;
83 uint64_t host_param_mask;
83 struct scsi_host_template *host_template; 84 struct scsi_host_template *host_template;
84 /* LLD connection data size */ 85 /* LLD connection data size */
85 int conndata_size; 86 int conndata_size;
@@ -89,7 +90,8 @@ struct iscsi_transport {
89 unsigned int max_conn; 90 unsigned int max_conn;
90 unsigned int max_cmd_len; 91 unsigned int max_cmd_len;
91 struct iscsi_cls_session *(*create_session) (struct iscsi_transport *it, 92 struct iscsi_cls_session *(*create_session) (struct iscsi_transport *it,
92 struct scsi_transport_template *t, uint32_t sn, uint32_t *hn); 93 struct scsi_transport_template *t, uint16_t, uint16_t,
94 uint32_t sn, uint32_t *hn);
93 void (*destroy_session) (struct iscsi_cls_session *session); 95 void (*destroy_session) (struct iscsi_cls_session *session);
94 struct iscsi_cls_conn *(*create_conn) (struct iscsi_cls_session *sess, 96 struct iscsi_cls_conn *(*create_conn) (struct iscsi_cls_session *sess,
95 uint32_t cid); 97 uint32_t cid);
@@ -105,14 +107,18 @@ struct iscsi_transport {
105 enum iscsi_param param, char *buf); 107 enum iscsi_param param, char *buf);
106 int (*get_session_param) (struct iscsi_cls_session *session, 108 int (*get_session_param) (struct iscsi_cls_session *session,
107 enum iscsi_param param, char *buf); 109 enum iscsi_param param, char *buf);
110 int (*get_host_param) (struct Scsi_Host *shost,
111 enum iscsi_host_param param, char *buf);
112 int (*set_host_param) (struct Scsi_Host *shost,
113 enum iscsi_host_param param, char *buf,
114 int buflen);
108 int (*send_pdu) (struct iscsi_cls_conn *conn, struct iscsi_hdr *hdr, 115 int (*send_pdu) (struct iscsi_cls_conn *conn, struct iscsi_hdr *hdr,
109 char *data, uint32_t data_size); 116 char *data, uint32_t data_size);
110 void (*get_stats) (struct iscsi_cls_conn *conn, 117 void (*get_stats) (struct iscsi_cls_conn *conn,
111 struct iscsi_stats *stats); 118 struct iscsi_stats *stats);
112 void (*init_cmd_task) (struct iscsi_cmd_task *ctask); 119 void (*init_cmd_task) (struct iscsi_cmd_task *ctask);
113 void (*init_mgmt_task) (struct iscsi_conn *conn, 120 void (*init_mgmt_task) (struct iscsi_conn *conn,
114 struct iscsi_mgmt_task *mtask, 121 struct iscsi_mgmt_task *mtask);
115 char *data, uint32_t data_size);
116 int (*xmit_cmd_task) (struct iscsi_conn *conn, 122 int (*xmit_cmd_task) (struct iscsi_conn *conn,
117 struct iscsi_cmd_task *ctask); 123 struct iscsi_cmd_task *ctask);
118 void (*cleanup_cmd_task) (struct iscsi_conn *conn, 124 void (*cleanup_cmd_task) (struct iscsi_conn *conn,
@@ -124,7 +130,7 @@ struct iscsi_transport {
124 uint64_t *ep_handle); 130 uint64_t *ep_handle);
125 int (*ep_poll) (uint64_t ep_handle, int timeout_ms); 131 int (*ep_poll) (uint64_t ep_handle, int timeout_ms);
126 void (*ep_disconnect) (uint64_t ep_handle); 132 void (*ep_disconnect) (uint64_t ep_handle);
127 int (*tgt_dscvr) (enum iscsi_tgt_dscvr type, uint32_t host_no, 133 int (*tgt_dscvr) (struct Scsi_Host *shost, enum iscsi_tgt_dscvr type,
128 uint32_t enable, struct sockaddr *dst_addr); 134 uint32_t enable, struct sockaddr *dst_addr);
129}; 135};
130 136