Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Variables
fc_fs.h File Reference
#include <linux/types.h>

Go to the source code of this file.

Data Structures

struct  fc_frame_header
 
struct  fc_ba_acc
 
struct  fc_ba_rjt
 
struct  fc_pf_rjt
 

Macros

#define FC_FRAME_HEADER_LEN   24 /* expected length of structure */
 
#define FC_MAX_PAYLOAD   2112U /* max payload length in bytes */
 
#define FC_MIN_MAX_PAYLOAD   256U /* lower limit on max payload */
 
#define FC_MAX_FRAME   (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
 
#define FC_MIN_MAX_FRAME   (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
 
#define FC_RCTL_ILS_REQ   FC_RCTL_DD_UNSOL_CTL /* ILS request */
 
#define FC_RCTL_ILS_REP   FC_RCTL_DD_SOL_CTL /* ILS reply */
 
#define FC_RCTL_NAMES_INIT
 
#define FC_FID_WELL_KNOWN_MAX   0xffffff /* highest well-known fabric ID */
 
#define FC_FID_WELL_KNOWN_BASE   0xfffff5 /* start of well-known fabric ID */
 
#define FC_FID_DOM_MGR   0xfffc00 /* domain manager base */
 
#define FC_FID_DOMAIN   0
 
#define FC_FID_PORT   1
 
#define FC_FID_LINK   2
 
#define FC_TYPE_NAMES_INIT
 
#define FC_XID_UNKNOWN   0xffff /* unknown exchange ID */
 
#define FC_XID_MIN   0x0 /* supported min exchange ID */
 
#define FC_XID_MAX   0xfffe /* supported max exchange ID */
 
#define FC_FC_EX_CTX   (1 << 23) /* sent by responder to exchange */
 
#define FC_FC_SEQ_CTX   (1 << 22) /* sent by responder to sequence */
 
#define FC_FC_FIRST_SEQ   (1 << 21) /* first sequence of this exchange */
 
#define FC_FC_LAST_SEQ   (1 << 20) /* last sequence of this exchange */
 
#define FC_FC_END_SEQ   (1 << 19) /* last frame of sequence */
 
#define FC_FC_END_CONN   (1 << 18) /* end of class 1 connection pending */
 
#define FC_FC_RES_B17   (1 << 17) /* reserved */
 
#define FC_FC_SEQ_INIT   (1 << 16) /* transfer of sequence initiative */
 
#define FC_FC_X_ID_REASS   (1 << 15) /* exchange ID has been changed */
 
#define FC_FC_X_ID_INVAL   (1 << 14) /* exchange ID invalidated */
 
#define FC_FC_ACK_1   (1 << 12) /* 13:12 = 1: ACK_1 expected */
 
#define FC_FC_ACK_N   (2 << 12) /* 13:12 = 2: ACK_N expected */
 
#define FC_FC_ACK_0   (3 << 12) /* 13:12 = 3: ACK_0 expected */
 
#define FC_FC_RES_B11   (1 << 11) /* reserved */
 
#define FC_FC_RES_B10   (1 << 10) /* reserved */
 
#define FC_FC_RETX_SEQ   (1 << 9) /* retransmitted sequence */
 
#define FC_FC_UNI_TX   (1 << 8) /* unidirectional transmit (class 1) */
 
#define FC_FC_CONT_SEQ(i)   ((i) << 6)
 
#define FC_FC_ABT_SEQ(i)   ((i) << 4)
 
#define FC_FC_REL_OFF   (1 << 3) /* parameter is relative offset */
 
#define FC_FC_RES2   (1 << 2) /* reserved */
 
#define FC_FC_FILL(i)   ((i) & 3) /* 1:0: bytes of trailing fill */
 
#define FC_BA_SEQ_ID_VAL   0x80
 
#define FC_DEF_E_D_TOV   2000UL
 
#define FC_DEF_R_A_TOV   10000UL
 

Enumerations

enum  fc_rctl {
  FC_RCTL_DD_UNCAT = 0x00, FC_RCTL_DD_SOL_DATA = 0x01, FC_RCTL_DD_UNSOL_CTL = 0x02, FC_RCTL_DD_SOL_CTL = 0x03,
  FC_RCTL_DD_UNSOL_DATA = 0x04, FC_RCTL_DD_DATA_DESC = 0x05, FC_RCTL_DD_UNSOL_CMD = 0x06, FC_RCTL_DD_CMD_STATUS = 0x07,
  FC_RCTL_ELS_REQ = 0x22, FC_RCTL_ELS_REP = 0x23, FC_RCTL_ELS4_REQ = 0x32, FC_RCTL_ELS4_REP = 0x33,
  FC_RCTL_VFTH = 0x50, FC_RCTL_IFRH = 0x51, FC_RCTL_ENCH = 0x52, FC_RCTL_BA_NOP = 0x80,
  FC_RCTL_BA_ABTS = 0x81, FC_RCTL_BA_RMC = 0x82, FC_RCTL_BA_ACC = 0x84, FC_RCTL_BA_RJT = 0x85,
  FC_RCTL_BA_PRMT = 0x86, FC_RCTL_ACK_1 = 0xc0, FC_RCTL_ACK_0 = 0xc1, FC_RCTL_P_RJT = 0xc2,
  FC_RCTL_F_RJT = 0xc3, FC_RCTL_P_BSY = 0xc4, FC_RCTL_F_BSY = 0xc5, FC_RCTL_F_BSYL = 0xc6,
  FC_RCTL_LCR = 0xc7, FC_RCTL_END = 0xc9
}
 
enum  fc_well_known_fid {
  FC_FID_NONE = 0x000000, FC_FID_BCAST = 0xffffff, FC_FID_FLOGI = 0xfffffe, FC_FID_FCTRL = 0xfffffd,
  FC_FID_DIR_SERV = 0xfffffc, FC_FID_TIME_SERV = 0xfffffb, FC_FID_MGMT_SERV = 0xfffffa, FC_FID_QOS = 0xfffff9,
  FC_FID_ALIASES = 0xfffff8, FC_FID_SEC_KEY = 0xfffff7, FC_FID_CLOCK = 0xfffff6, FC_FID_MCAST_SERV = 0xfffff5
}
 
enum  fc_fh_type {
  FC_TYPE_BLS = 0x00, FC_TYPE_ELS = 0x01, FC_TYPE_IP = 0x05, FC_TYPE_FCP = 0x08,
  FC_TYPE_CT = 0x20, FC_TYPE_ILS = 0x22
}
 
enum  fc_ba_rjt_reason {
  FC_BA_RJT_NONE = 0, FC_BA_RJT_INVL_CMD = 0x01, FC_BA_RJT_LOG_ERR = 0x03, FC_BA_RJT_LOG_BUSY = 0x05,
  FC_BA_RJT_PROTO_ERR = 0x07, FC_BA_RJT_UNABLE = 0x09, FC_BA_RJT_VENDOR = 0xff
}
 
enum  fc_ba_rjt_explan { FC_BA_RJT_EXP_NONE = 0x00, FC_BA_RJT_INV_XID = 0x03, FC_BA_RJT_ABT = 0x05 }
 
enum  fc_pf_rjt_reason {
  FC_RJT_NONE = 0, FC_RJT_INVL_DID = 0x01, FC_RJT_INVL_SID = 0x02, FC_RJT_P_UNAV_T = 0x03,
  FC_RJT_P_UNAV = 0x04, FC_RJT_CLS_UNSUP = 0x05, FC_RJT_DEL_USAGE = 0x06, FC_RJT_TYPE_UNSUP = 0x07,
  FC_RJT_LINK_CTL = 0x08, FC_RJT_R_CTL = 0x09, FC_RJT_F_CTL = 0x0a, FC_RJT_OX_ID = 0x0b,
  FC_RJT_RX_ID = 0x0c, FC_RJT_SEQ_ID = 0x0d, FC_RJT_DF_CTL = 0x0e, FC_RJT_SEQ_CNT = 0x0f,
  FC_RJT_PARAM = 0x10, FC_RJT_EXCH_ERR = 0x11, FC_RJT_PROTO = 0x12, FC_RJT_LEN = 0x13,
  FC_RJT_UNEXP_ACK = 0x14, FC_RJT_FAB_CLASS = 0x15, FC_RJT_LOGI_REQ = 0x16, FC_RJT_SEQ_XS = 0x17,
  FC_RJT_EXCH_EST = 0x18, FC_RJT_FAB_UNAV = 0x1a, FC_RJT_VC_ID = 0x1b, FC_RJT_CS_CTL = 0x1c,
  FC_RJT_INSUF_RES = 0x1d, FC_RJT_INVL_CLS = 0x1f, FC_RJT_PREEMT_RJT = 0x20, FC_RJT_PREEMT_DIS = 0x21,
  FC_RJT_MCAST_ERR = 0x22, FC_RJT_MCAST_ET = 0x23, FC_RJT_PRLI_REQ = 0x24, FC_RJT_INVL_ATT = 0x25,
  FC_RJT_VENDOR = 0xff
}
 

Variables

struct fc_frame_header __attribute__
 

Macro Definition Documentation

#define FC_BA_SEQ_ID_VAL   0x80

Definition at line 248 of file fc_fs.h.

#define FC_DEF_E_D_TOV   2000UL

Definition at line 345 of file fc_fs.h.

#define FC_DEF_R_A_TOV   10000UL

Definition at line 346 of file fc_fs.h.

#define FC_FC_ABT_SEQ (   i)    ((i) << 4)

Definition at line 238 of file fc_fs.h.

#define FC_FC_ACK_0   (3 << 12) /* 13:12 = 3: ACK_0 expected */

Definition at line 231 of file fc_fs.h.

#define FC_FC_ACK_1   (1 << 12) /* 13:12 = 1: ACK_1 expected */

Definition at line 229 of file fc_fs.h.

#define FC_FC_ACK_N   (2 << 12) /* 13:12 = 2: ACK_N expected */

Definition at line 230 of file fc_fs.h.

#define FC_FC_CONT_SEQ (   i)    ((i) << 6)

Definition at line 237 of file fc_fs.h.

#define FC_FC_END_CONN   (1 << 18) /* end of class 1 connection pending */

Definition at line 223 of file fc_fs.h.

#define FC_FC_END_SEQ   (1 << 19) /* last frame of sequence */

Definition at line 222 of file fc_fs.h.

#define FC_FC_EX_CTX   (1 << 23) /* sent by responder to exchange */

Definition at line 218 of file fc_fs.h.

#define FC_FC_FILL (   i)    ((i) & 3) /* 1:0: bytes of trailing fill */

Definition at line 241 of file fc_fs.h.

#define FC_FC_FIRST_SEQ   (1 << 21) /* first sequence of this exchange */

Definition at line 220 of file fc_fs.h.

#define FC_FC_LAST_SEQ   (1 << 20) /* last sequence of this exchange */

Definition at line 221 of file fc_fs.h.

#define FC_FC_REL_OFF   (1 << 3) /* parameter is relative offset */

Definition at line 239 of file fc_fs.h.

#define FC_FC_RES2   (1 << 2) /* reserved */

Definition at line 240 of file fc_fs.h.

#define FC_FC_RES_B10   (1 << 10) /* reserved */

Definition at line 234 of file fc_fs.h.

#define FC_FC_RES_B11   (1 << 11) /* reserved */

Definition at line 233 of file fc_fs.h.

#define FC_FC_RES_B17   (1 << 17) /* reserved */

Definition at line 224 of file fc_fs.h.

#define FC_FC_RETX_SEQ   (1 << 9) /* retransmitted sequence */

Definition at line 235 of file fc_fs.h.

#define FC_FC_SEQ_CTX   (1 << 22) /* sent by responder to sequence */

Definition at line 219 of file fc_fs.h.

#define FC_FC_SEQ_INIT   (1 << 16) /* transfer of sequence initiative */

Definition at line 225 of file fc_fs.h.

#define FC_FC_UNI_TX   (1 << 8) /* unidirectional transmit (class 1) */

Definition at line 236 of file fc_fs.h.

#define FC_FC_X_ID_INVAL   (1 << 14) /* exchange ID invalidated */

Definition at line 227 of file fc_fs.h.

#define FC_FC_X_ID_REASS   (1 << 15) /* exchange ID has been changed */

Definition at line 226 of file fc_fs.h.

#define FC_FID_DOM_MGR   0xfffc00 /* domain manager base */

Definition at line 174 of file fc_fs.h.

#define FC_FID_DOMAIN   0

Definition at line 179 of file fc_fs.h.

#define FC_FID_LINK   2

Definition at line 181 of file fc_fs.h.

#define FC_FID_PORT   1

Definition at line 180 of file fc_fs.h.

#define FC_FID_WELL_KNOWN_BASE   0xfffff5 /* start of well-known fabric ID */

Definition at line 169 of file fc_fs.h.

#define FC_FID_WELL_KNOWN_MAX   0xffffff /* highest well-known fabric ID */

Definition at line 168 of file fc_fs.h.

#define FC_FRAME_HEADER_LEN   24 /* expected length of structure */

Definition at line 52 of file fc_fs.h.

#define FC_MAX_FRAME   (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)

Definition at line 57 of file fc_fs.h.

#define FC_MAX_PAYLOAD   2112U /* max payload length in bytes */

Definition at line 54 of file fc_fs.h.

#define FC_MIN_MAX_FRAME   (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)

Definition at line 58 of file fc_fs.h.

#define FC_MIN_MAX_PAYLOAD   256U /* lower limit on max payload */

Definition at line 55 of file fc_fs.h.

#define FC_RCTL_ILS_REP   FC_RCTL_DD_SOL_CTL /* ILS reply */

Definition at line 77 of file fc_fs.h.

#define FC_RCTL_ILS_REQ   FC_RCTL_DD_UNSOL_CTL /* ILS request */

Definition at line 76 of file fc_fs.h.

#define FC_RCTL_NAMES_INIT
Value:
{ \
[FC_RCTL_DD_UNCAT] = "uncat", \
[FC_RCTL_DD_SOL_DATA] = "sol data", \
[FC_RCTL_DD_UNSOL_CTL] = "unsol ctl", \
[FC_RCTL_DD_SOL_CTL] = "sol ctl/reply", \
[FC_RCTL_DD_UNSOL_DATA] = "unsol data", \
[FC_RCTL_DD_DATA_DESC] = "data desc", \
[FC_RCTL_DD_UNSOL_CMD] = "unsol cmd", \
[FC_RCTL_DD_CMD_STATUS] = "cmd status", \
[FC_RCTL_ELS_REQ] = "ELS req", \
[FC_RCTL_ELS_REP] = "ELS rep", \
[FC_RCTL_ELS4_REQ] = "FC-4 ELS req", \
[FC_RCTL_ELS4_REP] = "FC-4 ELS rep", \
[FC_RCTL_BA_NOP] = "BLS NOP", \
[FC_RCTL_BA_ABTS] = "BLS abort", \
[FC_RCTL_BA_RMC] = "BLS remove connection", \
[FC_RCTL_BA_ACC] = "BLS accept", \
[FC_RCTL_BA_RJT] = "BLS reject", \
[FC_RCTL_BA_PRMT] = "BLS dedicated connection preempted", \
[FC_RCTL_ACK_1] = "LC ACK_1", \
[FC_RCTL_ACK_0] = "LC ACK_0", \
[FC_RCTL_P_RJT] = "LC port reject", \
[FC_RCTL_F_RJT] = "LC fabric reject", \
[FC_RCTL_P_BSY] = "LC port busy", \
[FC_RCTL_F_BSY] = "LC fabric busy to data frame", \
[FC_RCTL_F_BSYL] = "LC fabric busy to link control frame",\
[FC_RCTL_LCR] = "LC link credit reset", \
[FC_RCTL_END] = "LC end", \
}

Definition at line 120 of file fc_fs.h.

#define FC_TYPE_NAMES_INIT
Value:
{ \
[FC_TYPE_BLS] = "BLS", \
[FC_TYPE_ELS] = "ELS", \
[FC_TYPE_IP] = "IP", \
[FC_TYPE_FCP] = "FCP", \
[FC_TYPE_CT] = "CT", \
[FC_TYPE_ILS] = "ILS", \
}

Definition at line 199 of file fc_fs.h.

#define FC_XID_MAX   0xfffe /* supported max exchange ID */

Definition at line 213 of file fc_fs.h.

#define FC_XID_MIN   0x0 /* supported min exchange ID */

Definition at line 212 of file fc_fs.h.

#define FC_XID_UNKNOWN   0xffff /* unknown exchange ID */

Definition at line 211 of file fc_fs.h.

Enumeration Type Documentation

Enumerator:
FC_BA_RJT_EXP_NONE 
FC_BA_RJT_INV_XID 
FC_BA_RJT_ABT 

Definition at line 284 of file fc_fs.h.

Enumerator:
FC_BA_RJT_NONE 
FC_BA_RJT_INVL_CMD 
FC_BA_RJT_LOG_ERR 
FC_BA_RJT_LOG_BUSY 
FC_BA_RJT_PROTO_ERR 
FC_BA_RJT_UNABLE 
FC_BA_RJT_VENDOR 

Definition at line 271 of file fc_fs.h.

enum fc_fh_type
Enumerator:
FC_TYPE_BLS 
FC_TYPE_ELS 
FC_TYPE_IP 
FC_TYPE_FCP 
FC_TYPE_CT 
FC_TYPE_ILS 

Definition at line 186 of file fc_fs.h.

Enumerator:
FC_RJT_NONE 
FC_RJT_INVL_DID 
FC_RJT_INVL_SID 
FC_RJT_P_UNAV_T 
FC_RJT_P_UNAV 
FC_RJT_CLS_UNSUP 
FC_RJT_DEL_USAGE 
FC_RJT_TYPE_UNSUP 
FC_RJT_LINK_CTL 
FC_RJT_R_CTL 
FC_RJT_F_CTL 
FC_RJT_OX_ID 
FC_RJT_RX_ID 
FC_RJT_SEQ_ID 
FC_RJT_DF_CTL 
FC_RJT_SEQ_CNT 
FC_RJT_PARAM 
FC_RJT_EXCH_ERR 
FC_RJT_PROTO 
FC_RJT_LEN 
FC_RJT_UNEXP_ACK 
FC_RJT_FAB_CLASS 
FC_RJT_LOGI_REQ 
FC_RJT_SEQ_XS 
FC_RJT_EXCH_EST 
FC_RJT_FAB_UNAV 
FC_RJT_VC_ID 
FC_RJT_CS_CTL 
FC_RJT_INSUF_RES 
FC_RJT_INVL_CLS 
FC_RJT_PREEMT_RJT 
FC_RJT_PREEMT_DIS 
FC_RJT_MCAST_ERR 
FC_RJT_MCAST_ET 
FC_RJT_PRLI_REQ 
FC_RJT_INVL_ATT 
FC_RJT_VENDOR 

Definition at line 303 of file fc_fs.h.

enum fc_rctl
Enumerator:
FC_RCTL_DD_UNCAT 
FC_RCTL_DD_SOL_DATA 
FC_RCTL_DD_UNSOL_CTL 
FC_RCTL_DD_SOL_CTL 
FC_RCTL_DD_UNSOL_DATA 
FC_RCTL_DD_DATA_DESC 
FC_RCTL_DD_UNSOL_CMD 
FC_RCTL_DD_CMD_STATUS 
FC_RCTL_ELS_REQ 
FC_RCTL_ELS_REP 
FC_RCTL_ELS4_REQ 
FC_RCTL_ELS4_REP 
FC_RCTL_VFTH 
FC_RCTL_IFRH 
FC_RCTL_ENCH 
FC_RCTL_BA_NOP 
FC_RCTL_BA_ABTS 
FC_RCTL_BA_RMC 
FC_RCTL_BA_ACC 
FC_RCTL_BA_RJT 
FC_RCTL_BA_PRMT 
FC_RCTL_ACK_1 
FC_RCTL_ACK_0 
FC_RCTL_P_RJT 
FC_RCTL_F_RJT 
FC_RCTL_P_BSY 
FC_RCTL_F_BSY 
FC_RCTL_F_BSYL 
FC_RCTL_LCR 
FC_RCTL_END 

Definition at line 66 of file fc_fs.h.

Enumerator:
FC_FID_NONE 
FC_FID_BCAST 
FC_FID_FLOGI 
FC_FID_FCTRL 
FC_FID_DIR_SERV 
FC_FID_TIME_SERV 
FC_FID_MGMT_SERV 
FC_FID_QOS 
FC_FID_ALIASES 
FC_FID_SEC_KEY 
FC_FID_CLOCK 
FC_FID_MCAST_SERV 

Definition at line 153 of file fc_fs.h.

Variable Documentation