aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/iscsi_if.h29
-rw-r--r--include/scsi/scsi_transport_iscsi.h4
2 files changed, 33 insertions, 0 deletions
diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h
index 7ff9678b7e79..228a8af05129 100644
--- a/include/scsi/iscsi_if.h
+++ b/include/scsi/iscsi_if.h
@@ -61,6 +61,8 @@ enum iscsi_uevent_e {
61 ISCSI_UEVENT_PATH_UPDATE = UEVENT_BASE + 20, 61 ISCSI_UEVENT_PATH_UPDATE = UEVENT_BASE + 20,
62 ISCSI_UEVENT_SET_IFACE_PARAMS = UEVENT_BASE + 21, 62 ISCSI_UEVENT_SET_IFACE_PARAMS = UEVENT_BASE + 21,
63 ISCSI_UEVENT_PING = UEVENT_BASE + 22, 63 ISCSI_UEVENT_PING = UEVENT_BASE + 22,
64 ISCSI_UEVENT_GET_CHAP = UEVENT_BASE + 23,
65 ISCSI_UEVENT_DELETE_CHAP = UEVENT_BASE + 24,
64 66
65 /* up events */ 67 /* up events */
66 ISCSI_KEVENT_RECV_PDU = KEVENT_BASE + 1, 68 ISCSI_KEVENT_RECV_PDU = KEVENT_BASE + 1,
@@ -196,6 +198,18 @@ struct iscsi_uevent {
196 uint32_t pid; /* unique ping id associated 198 uint32_t pid; /* unique ping id associated
197 with each ping request */ 199 with each ping request */
198 } iscsi_ping; 200 } iscsi_ping;
201 struct msg_get_chap {
202 uint32_t host_no;
203 uint32_t num_entries; /* number of CHAP entries
204 * on request, number of
205 * valid CHAP entries on
206 * response */
207 uint16_t chap_tbl_idx;
208 } get_chap;
209 struct msg_delete_chap {
210 uint32_t host_no;
211 uint16_t chap_tbl_idx;
212 } delete_chap;
199 } u; 213 } u;
200 union { 214 union {
201 /* messages k -> u */ 215 /* messages k -> u */
@@ -548,4 +562,19 @@ struct iscsi_stats {
548 __attribute__ ((aligned (sizeof(uint64_t)))); 562 __attribute__ ((aligned (sizeof(uint64_t))));
549}; 563};
550 564
565enum chap_type_e {
566 CHAP_TYPE_OUT,
567 CHAP_TYPE_IN,
568};
569
570#define ISCSI_CHAP_AUTH_NAME_MAX_LEN 256
571#define ISCSI_CHAP_AUTH_SECRET_MAX_LEN 256
572struct iscsi_chap_rec {
573 uint16_t chap_tbl_idx;
574 enum chap_type_e chap_type;
575 char username[ISCSI_CHAP_AUTH_NAME_MAX_LEN];
576 uint8_t password[ISCSI_CHAP_AUTH_SECRET_MAX_LEN];
577 uint8_t password_length;
578} __packed;
579
551#endif 580#endif
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h
index aede513f99bd..53f0b361d668 100644
--- a/include/scsi/scsi_transport_iscsi.h
+++ b/include/scsi/scsi_transport_iscsi.h
@@ -147,6 +147,9 @@ struct iscsi_transport {
147 int (*send_ping) (struct Scsi_Host *shost, uint32_t iface_num, 147 int (*send_ping) (struct Scsi_Host *shost, uint32_t iface_num,
148 uint32_t iface_type, uint32_t payload_size, 148 uint32_t iface_type, uint32_t payload_size,
149 uint32_t pid, struct sockaddr *dst_addr); 149 uint32_t pid, struct sockaddr *dst_addr);
150 int (*get_chap) (struct Scsi_Host *shost, uint16_t chap_tbl_idx,
151 uint32_t *num_entries, char *buf);
152 int (*delete_chap) (struct Scsi_Host *shost, uint16_t chap_tbl_idx);
150}; 153};
151 154
152/* 155/*
@@ -325,5 +328,6 @@ extern void iscsi_destroy_iface(struct iscsi_iface *iface);
325extern struct iscsi_iface *iscsi_lookup_iface(int handle); 328extern struct iscsi_iface *iscsi_lookup_iface(int handle);
326extern char *iscsi_get_port_speed_name(struct Scsi_Host *shost); 329extern char *iscsi_get_port_speed_name(struct Scsi_Host *shost);
327extern char *iscsi_get_port_state_name(struct Scsi_Host *shost); 330extern char *iscsi_get_port_state_name(struct Scsi_Host *shost);
331extern int iscsi_is_session_dev(const struct device *dev);
328 332
329#endif 333#endif