aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_transport_fc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scsi/scsi_transport_fc.h')
-rw-r--r--include/scsi/scsi_transport_fc.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index c74be5dabfeb..f91c5358af3a 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -29,6 +29,7 @@
29 29
30#include <linux/sched.h> 30#include <linux/sched.h>
31#include <scsi/scsi.h> 31#include <scsi/scsi.h>
32#include <scsi/scsi_netlink.h>
32 33
33struct scsi_transport_template; 34struct scsi_transport_template;
34 35
@@ -284,6 +285,30 @@ struct fc_host_statistics {
284 285
285 286
286/* 287/*
288 * FC Event Codes - Polled and Async, following FC HBAAPI v2.0 guidelines
289 */
290
291/*
292 * fc_host_event_code: If you alter this, you also need to alter
293 * scsi_transport_fc.c (for the ascii descriptions).
294 */
295enum fc_host_event_code {
296 FCH_EVT_LIP = 0x1,
297 FCH_EVT_LINKUP = 0x2,
298 FCH_EVT_LINKDOWN = 0x3,
299 FCH_EVT_LIPRESET = 0x4,
300 FCH_EVT_RSCN = 0x5,
301 FCH_EVT_ADAPTER_CHANGE = 0x103,
302 FCH_EVT_PORT_UNKNOWN = 0x200,
303 FCH_EVT_PORT_OFFLINE = 0x201,
304 FCH_EVT_PORT_ONLINE = 0x202,
305 FCH_EVT_PORT_FABRIC = 0x204,
306 FCH_EVT_LINK_UNKNOWN = 0x500,
307 FCH_EVT_VENDOR_UNIQUE = 0xffff,
308};
309
310
311/*
287 * FC Local Port (Host) Attributes 312 * FC Local Port (Host) Attributes
288 * 313 *
289 * Attributes are based on HBAAPI V2.0 definitions. 314 * Attributes are based on HBAAPI V2.0 definitions.
@@ -526,5 +551,14 @@ struct fc_rport *fc_remote_port_add(struct Scsi_Host *shost,
526void fc_remote_port_delete(struct fc_rport *rport); 551void fc_remote_port_delete(struct fc_rport *rport);
527void fc_remote_port_rolechg(struct fc_rport *rport, u32 roles); 552void fc_remote_port_rolechg(struct fc_rport *rport, u32 roles);
528int scsi_is_fc_rport(const struct device *); 553int scsi_is_fc_rport(const struct device *);
554u32 fc_get_event_number(void);
555void fc_host_post_event(struct Scsi_Host *shost, u32 event_number,
556 enum fc_host_event_code event_code, u32 event_data);
557void fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number,
558 u32 data_len, char * data_buf, u32 vendor_id);
559 /* Note: when specifying vendor_id to fc_host_post_vendor_event()
560 * be sure to read the Vendor Type and ID formatting requirements
561 * specified in scsi_netlink.h
562 */
529 563
530#endif /* SCSI_TRANSPORT_FC_H */ 564#endif /* SCSI_TRANSPORT_FC_H */