]>
Commit | Line | Data |
---|---|---|
09345f65 FT |
1 | #ifndef SCSI_TRANSPORT_SRP_H |
2 | #define SCSI_TRANSPORT_SRP_H | |
3 | ||
4 | #include <linux/transport_class.h> | |
5 | #include <linux/types.h> | |
6 | #include <linux/mutex.h> | |
7 | ||
aebd5e47 FT |
8 | #define SRP_RPORT_ROLE_INITIATOR 0 |
9 | #define SRP_RPORT_ROLE_TARGET 1 | |
10 | ||
09345f65 FT |
11 | struct srp_rport_identifiers { |
12 | u8 port_id[16]; | |
aebd5e47 | 13 | u8 roles; |
09345f65 FT |
14 | }; |
15 | ||
16 | struct srp_rport { | |
17 | struct device dev; | |
18 | ||
19 | u8 port_id[16]; | |
aebd5e47 | 20 | u8 roles; |
09345f65 FT |
21 | }; |
22 | ||
23 | struct srp_function_template { | |
62fe8826 FT |
24 | /* for target drivers */ |
25 | int (* it_nexus_response)(struct Scsi_Host *, u64, int); | |
09345f65 FT |
26 | }; |
27 | ||
28 | extern struct scsi_transport_template * | |
29 | srp_attach_transport(struct srp_function_template *); | |
30 | extern void srp_release_transport(struct scsi_transport_template *); | |
31 | ||
32 | extern struct srp_rport *srp_rport_add(struct Scsi_Host *, | |
33 | struct srp_rport_identifiers *); | |
34 | extern void srp_rport_del(struct srp_rport *); | |
35 | ||
36 | extern void srp_remove_host(struct Scsi_Host *); | |
37 | ||
38 | #endif |