V4L/DVB: ir-common: Use macros to define the keytables
[safe/jmp/linux-2.6] / include / scsi / libfc.h
index 310d8a2..4b912ee 100644 (file)
@@ -62,6 +62,7 @@
  * @LPORT_ST_DNS:      Waiting for name server remote port to become ready
  * @LPORT_ST_RPN_ID:   Register port name by ID (RPN_ID) sent
  * @LPORT_ST_RFT_ID:   Register Fibre Channel types by ID (RFT_ID) sent
+ * @LPORT_ST_RFF_ID:   Register FC-4 Features by ID (RFF_ID) sent
  * @LPORT_ST_SCR:      State Change Register (SCR) sent
  * @LPORT_ST_READY:    Ready for use
  * @LPORT_ST_LOGO:     Local port logout (LOGO) sent
@@ -75,6 +76,7 @@ enum fc_lport_state {
        LPORT_ST_RSNN_NN,
        LPORT_ST_RSPN_ID,
        LPORT_ST_RFT_ID,
+       LPORT_ST_RFF_ID,
        LPORT_ST_SCR,
        LPORT_ST_READY,
        LPORT_ST_LOGO,
@@ -229,6 +231,8 @@ struct fc_rport_priv {
  * @ControlRequests:       Number of control requests
  * @InputMegabytes:        Number of received megabytes
  * @OutputMegabytes:       Number of transmitted megabytes
+ * @VLinkFailureCount:     Number of virtual link failures
+ * @MissDiscAdvCount:      Number of missing FIP discovery advertisement
  */
 struct fcoe_dev_stats {
        u64             SecondsSinceLastReset;
@@ -247,6 +251,8 @@ struct fcoe_dev_stats {
        u64             ControlRequests;
        u64             InputMegabytes;
        u64             OutputMegabytes;
+       u64             VLinkFailureCount;
+       u64             MissDiscAdvCount;
 };
 
 /**
@@ -505,6 +511,12 @@ struct libfc_function_template {
         */
        int (*ddp_done)(struct fc_lport *, u16);
        /*
+        * Allow LLD to fill its own Link Error Status Block
+        *
+        * STATUS: OPTIONAL
+        */
+       void (*get_lesb)(struct fc_lport *, struct fc_els_lesb *lesb);
+       /*
         * Send a frame using an existing sequence and exchange.
         *
         * STATUS: OPTIONAL
@@ -581,6 +593,26 @@ struct libfc_function_template {
        int (*lport_reset)(struct fc_lport *);
 
        /*
+        * Set the local port FC_ID.
+        *
+        * This may be provided by the LLD to allow it to be
+        * notified when the local port is assigned a FC-ID.
+        *
+        * The frame, if non-NULL, is the incoming frame with the
+        * FLOGI LS_ACC or FLOGI, and may contain the granted MAC
+        * address for the LLD.  The frame pointer may be NULL if
+        * no MAC is associated with this assignment (LOGO or PLOGI).
+        *
+        * If FC_ID is non-zero, r_a_tov and e_d_tov must be valid.
+        *
+        * Note: this is called with the local port mutex held.
+        *
+        * STATUS: OPTIONAL
+        */
+       void (*lport_set_port_id)(struct fc_lport *, u32 port_id,
+                                 struct fc_frame *);
+
+       /*
         * Create a remote port with a given port ID
         *
         * STATUS: OPTIONAL