summaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_transport_srp.h
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2007-06-27 16:32:39 +0900
committerJames Bottomley <jejb@mulgrave.localdomain>2007-10-12 14:37:35 -0400
commit09345f65058bb927f3b3f4c33421f83ba8eeb5f8 (patch)
treec67ce859ca67b95fd99ecc5384f0e959ae4057c9 /include/scsi/scsi_transport_srp.h
parent604cd794de3094ccf8a9c149f299237a642ba9b5 (diff)
downloadlinux-09345f65058bb927f3b3f4c33421f83ba8eeb5f8.tar.bz2
[SCSI] add srp transport class
This adds srp transport class that works with ib_srp and ibmvscsi. It creates only /sys/class/{srp_host,srp_remote_ports} and srp_remote_ports has only "port_id" attribute. viola:/sys/class/srp_remote_ports/port-0:1# ls device port_id subsystem uevent viola:/sys/class/srp_remote_ports/port-0:1# cat port_id 4c:49:4e:55:58:20:56:49:4f:00:00:00:00:00:00:00 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi/scsi_transport_srp.h')
-rw-r--r--include/scsi/scsi_transport_srp.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_srp.h b/include/scsi/scsi_transport_srp.h
new file mode 100644
index 000000000000..adbfca402a69
--- /dev/null
+++ b/include/scsi/scsi_transport_srp.h
@@ -0,0 +1,32 @@
+#ifndef SCSI_TRANSPORT_SRP_H
+#define SCSI_TRANSPORT_SRP_H
+
+#include <linux/transport_class.h>
+#include <linux/types.h>
+#include <linux/mutex.h>
+
+struct srp_rport_identifiers {
+ u8 port_id[16];
+};
+
+struct srp_rport {
+ struct device dev;
+
+ u8 port_id[16];
+};
+
+struct srp_function_template {
+ /* later */
+};
+
+extern struct scsi_transport_template *
+srp_attach_transport(struct srp_function_template *);
+extern void srp_release_transport(struct scsi_transport_template *);
+
+extern struct srp_rport *srp_rport_add(struct Scsi_Host *,
+ struct srp_rport_identifiers *);
+extern void srp_rport_del(struct srp_rport *);
+
+extern void srp_remove_host(struct Scsi_Host *);
+
+#endif