#ifndef __57XX_FCOE_RFC_CONSTANTS_H_
#define __57XX_FCOE_RFC_CONSTANTS_H_
#define FC_TYPE_BLS 0x00
#define FC_TYPE_ELS 0x01
#define FC_TYPE_IP 0x05
#define FC_TYPE_FCP 0x08
#define FC_TYPE_CT 0x20
#define FC_TYPE_ILS 0x22
#define FC_RCTL_DDF 0x0
#define FC_RCTL_ELS 0x2
#define FC_RCTL_FC4_DATA 0x3
#define FC_RCTL_BLS 0x8
#define FC_RCTL_LCF 0xc
#define FC_RCTL_DDF_UNCAT 0x0
#define FC_RCTL_DDF_SOL_DATA 0x1
#define FC_RCTL_DDF_UNSOL_CTL 0x2
#define FC_RCTL_DDF_SOL_CTL 0x3
#define FC_RCTL_DDF_UNSOL_DATA 0x4
#define FC_RCTL_DDF_DATA_DESC 0x5
#define FC_RCTL_DDF_UNSOL_CMD 0x6
#define FC_RCTL_DDF_CMD_STATUS 0x7
#define FC_RCTL_ELS_REQ 0x2
#define FC_RCTL_ELS_REP 0x3
#define FC_RCTL_BLS_NOP 0x0
#define FC_RCTL_BLS_ABTS 0x1
#define FC_RCTL_BLS_RMC 0x2
#define FC_RCTL_BLS_ACC 0x4
#define FC_RCTL_BLS_RJT 0x5
#define FC_RCTL_BLS_PRMT 0x6
#define FC_RCTL_LCF_ACK_1 0x0
#define FC_RCTL_LCF_ACK_0 0x1
#define FC_RCTL_LCF_P_RJT 0x2
#define FC_RCTL_LCF_F_RJT 0x3
#define FC_RCTL_LCF_P_BSY 0x4
#define FC_RCTL_LCF_F_BSY 0x5
#define FC_RCTL_LCF_F_BSYL 0x6
#define FC_RCTL_LCF_LCR 0x7
#define FC_RCTL_LCF_END 0x9
#define FC_FCTL_EX_CTX_SHIFT 23
#define FC_FCTL_EX_CTX_MASK (0x1 << FC_FCTL_EX_CTX_SHIFT)
#define FC_FCTL_EX_CTX_ORIGINATOR (0x0 << FC_FCTL_EX_CTX_SHIFT)
#define FC_FCTL_EX_CTX_RESPONDER (0x1 << FC_FCTL_EX_CTX_SHIFT)
#define FC_FCTL_SEQ_CTX_SHIFT 22
#define FC_FCTL_SEQ_CTX_MASK (0x1 << FC_FCTL_SEQ_CTX_SHIFT)
#define FC_FCTL_SEQ_CTX_INITIATOR (0x0 << FC_FCTL_SEQ_CTX_SHIFT)
#define FC_FCTL_SEQ_CTX_RECIPIENT (0x1 << FC_FCTL_SEQ_CTX_SHIFT)
#define FC_FCTL_FIRST_SEQ_SHIFT 21
#define FC_FCTL_FIRST_SEQ_MASK (0x1 << FC_FCTL_FIRST_SEQ_SHIFT)
#define FC_FCTL_FIRST_SEQ_FALSE (0x0 << FC_FCTL_FIRST_SEQ_SHIFT)
#define FC_FCTL_FIRST_SEQ_TRUE (0x1 << FC_FCTL_FIRST_SEQ_SHIFT)
#define FC_FCTL_LAST_SEQ_SHIFT 20
#define FC_FCTL_LAST_SEQ_MASK (0x1 << FC_FCTL_LAST_SEQ_SHIFT)
#define FC_FCTL_LAST_SEQ_FALSE (0x0 << FC_FCTL_LAST_SEQ_SHIFT)
#define FC_FCTL_LAST_SEQ_TRUE (0x1 << FC_FCTL_LAST_SEQ_SHIFT)
#define FC_FCTL_END_SEQ_SHIFT 19
#define FC_FCTL_END_SEQ_MASK (0x1 << FC_FCTL_END_SEQ_SHIFT)
#define FC_FCTL_END_SEQ_FALSE (0x0 << FC_FCTL_END_SEQ_SHIFT)
#define FC_FCTL_END_SEQ_TRUE (0x1 << FC_FCTL_END_SEQ_SHIFT)
#define FC_FCTL_PRI_ENABLE_SHIFT 17
#define FC_FCTL_PRI_ENABLE_MASK (0x1 << FC_FCTL_PRI_ENABLE_SHIFT)
#define FC_FCTL_PRI_ENABLE_FALSE (0x0 << FC_FCTL_PRI_ENABLE_SHIFT)
#define FC_FCTL_PRI_ENABLE_TRUE (0x1 << FC_FCTL_PRI_ENABLE_SHIFT)
#define FC_FCTL_SEQ_INIT_SHIFT 16
#define FC_FCTL_SEQ_INIT_MASK (0x1 << FC_FCTL_SEQ_INIT_SHIFT)
#define FC_FCTL_SEQ_INIT_HOLD (0x0 << FC_FCTL_SEQ_INIT_SHIFT)
#define FC_FCTL_SEQ_INIT_TRANSFER (0x1 << FC_FCTL_SEQ_INIT_SHIFT)
#define FC_FCTL_ACK_SHIFT 12
#define FC_FCTL_ACK_MASK (0x3 << FC_FCTL_ACK_SHIFT)
#define FC_FCTL_ACK_NONE (0x0 << FC_FCTL_ACK_SHIFT)
#define FC_FCTL_ACK_1 (0x1 << FC_FCTL_ACK_SHIFT)
#define FC_FCTL_ACK_0 (0x3 << FC_FCTL_ACK_SHIFT)
#define FC_FCTL_RETX_SEQ_SHIFT 9
#define FC_FCTL_RETX_SEQ_MASK (0x1 << FC_FCTL_RETX_SEQ_SHIFT)
#define FC_FCTL_RETX_SEQ_FALSE (0x0 << FC_FCTL_RETX_SEQ_SHIFT)
#define FC_FCTL_RETX_SEQ_TRUE (0x1 << FC_FCTL_RETX_SEQ_SHIFT)
#define FC_FCTL_ABT_SEQ_SHIFT 4
#define FC_FCTL_ABT_SEQ_MASK (0x2 << FC_FCTL_ABT_SEQ_SHIFT)
#define FC_FCTL_ABT_SEQ_DISCARD_MULT (0x0 << FC_FCTL_ABT_SEQ_SHIFT)
#define FC_FCTL_ABT_SEQ_DISCARD_SINGLE (0x1 << FC_FCTL_ABT_SEQ_SHIFT)
#define FC_FCTL_ABT_SEQ_PROCESS_POLICY (0x2 << FC_FCTL_ABT_SEQ_SHIFT)
#define FC_FCTL_ABT_SEQ_DISCARD_MULT_RETX (0x3 << FC_FCTL_ABT_SEQ_SHIFT)
#define FC_FCTL_REL_OFF_SHIFT 3
#define FC_FCTL_REL_OFF_MASK (0x1 << FC_FCTL_REL_OFF_SHIFT)
#define FC_FCTL_REL_OFF_FALSE (0x0 << FC_FCTL_REL_OFF_SHIFT)
#define FC_FCTL_REL_OFF_TRUE (0x1 << FC_FCTL_REL_OFF_SHIFT)
#define FC_FCTL_FILL_SHIFT 0
#define FC_FCTL_FILL_MASK (0x3 << FC_FCTL_FILL_SHIFT)
#define FC_FCTL_FILL_0_BYTES (0x0 << FC_FCTL_FILL_SHIFT)
#define FC_FCTL_FILL_1_BYTES (0x1 << FC_FCTL_FILL_SHIFT)
#define FC_FCTL_FILL_2_BYTES (0x2 << FC_FCTL_FILL_SHIFT)
#define FC_FCTL_FILL_3_BYTES (0x3 << FC_FCTL_FILL_SHIFT)
#define FC_SOF_F 0x28
#define FC_SOF_I4 0x29
#define FC_SOF_I2 0x2d
#define FC_SOF_I3 0x2e
#define FC_SOF_N4 0x31
#define FC_SOF_N2 0x35
#define FC_SOF_N3 0x36
#define FC_SOF_C4 0x39
#define FC_EOF_N 0x41
#define FC_EOF_T 0x42
#define FC_EOF_RT 0x44
#define FC_EOF_DT 0x46
#define FC_EOF_NI 0x49
#define FC_EOF_DTI 0x4e
#define FC_EOF_RTI 0x4f
#define FC_EOF_A 0x50
#define FC_ELS_CMD_LS_RJT 0x01
#define FC_ELS_CMD_LS_ACC 0x02
#define FC_ELS_CMD_PLOGI 0x03
#define FC_ELS_CMD_FLOGI 0x04
#define FC_ELS_CMD_LOGO 0x05
#define FC_ELS_CMD_ABTX 0x06
#define FC_ELS_CMD_RCS 0x07
#define FC_ELS_CMD_RES 0x08
#define FC_ELS_CMD_RSS 0x09
#define FC_ELS_CMD_RSI 0x0a
#define FC_ELS_CMD_ESTS 0x0b
#define FC_ELS_CMD_ESTC 0x0c
#define FC_ELS_CMD_ADVC 0x0d
#define FC_ELS_CMD_RTV 0x0e
#define FC_ELS_CMD_RLS 0x0f
#define FC_ELS_CMD_ECHO 0x10
#define FC_ELS_CMD_TEST 0x11
#define FC_ELS_CMD_RRQ 0x12
#define FC_ELS_CMD_REC 0x13
#define FC_ELS_CMD_PRLI 0x20
#define FC_ELS_CMD_PRLO 0x21
#define FC_ELS_CMD_SCN 0x22
#define FC_ELS_CMD_TPLS 0x23
#define FC_ELS_CMD_TPRLO 0x24
#define FC_ELS_CMD_LCLM 0x25
#define FC_ELS_CMD_GAID 0x30
#define FC_ELS_CMD_FACT 0x31
#define FC_ELS_CMD_FDACDT 0x32
#define FC_ELS_CMD_NACT 0x33
#define FC_ELS_CMD_NDACT 0x34
#define FC_ELS_CMD_QOSR 0x40
#define FC_ELS_CMD_RVCS 0x41
#define FC_ELS_CMD_PDISC 0x50
#define FC_ELS_CMD_FDISC 0x51
#define FC_ELS_CMD_ADISC 0x52
#define FC_ELS_CMD_RNC 0x53
#define FC_ELS_CMD_FARP_REQ 0x54
#define FC_ELS_CMD_FARP_REPL 0x55
#define FC_ELS_CMD_RPS 0x56
#define FC_ELS_CMD_RPL 0x57
#define FC_ELS_CMD_RPBC 0x58
#define FC_ELS_CMD_FAN 0x60
#define FC_ELS_CMD_RSCN 0x61
#define FC_ELS_CMD_SCR 0x62
#define FC_ELS_CMD_RNFT 0x63
#define FC_ELS_CMD_CSR 0x68
#define FC_ELS_CMD_CSU 0x69
#define FC_ELS_CMD_LINIT 0x70
#define FC_ELS_CMD_LSTS 0x72
#define FC_ELS_CMD_RNID 0x78
#define FC_ELS_CMD_RLIR 0x79
#define FC_ELS_CMD_LIRR 0x7a
#define FC_ELS_CMD_SRL 0x7b
#define FC_ELS_CMD_SBRP 0x7c
#define FC_ELS_CMD_RPSC 0x7d
#define FC_ELS_CMD_QSA 0x7e
#define FC_ELS_CMD_EVFP 0x7f
#define FC_ELS_CMD_LKA 0x80
#define FC_ELS_CMD_AUTH_ELS 0x90
#endif