/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _FC_FS_H_
#define _FC_FS_H_
#include <linux/types.h>
struct fc_frame_header {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __u8 fh_r_ctl;
  __u8 fh_d_id[3];
  __u8 fh_cs_ctl;
  __u8 fh_s_id[3];
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __u8 fh_type;
  __u8 fh_f_ctl[3];
  __u8 fh_seq_id;
  __u8 fh_df_ctl;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __be16 fh_seq_cnt;
  __be16 fh_ox_id;
  __be16 fh_rx_id;
  __be32 fh_parm_offset;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
#define FC_FRAME_HEADER_LEN 24
#define FC_MAX_PAYLOAD 2112U
#define FC_MIN_MAX_PAYLOAD 256U
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_MAX_FRAME (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
#define FC_MIN_MAX_FRAME (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
enum fc_rctl {
  FC_RCTL_DD_UNCAT = 0x00,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_DD_SOL_DATA = 0x01,
  FC_RCTL_DD_UNSOL_CTL = 0x02,
  FC_RCTL_DD_SOL_CTL = 0x03,
  FC_RCTL_DD_UNSOL_DATA = 0x04,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_DD_DATA_DESC = 0x05,
  FC_RCTL_DD_UNSOL_CMD = 0x06,
  FC_RCTL_DD_CMD_STATUS = 0x07,
#define FC_RCTL_ILS_REQ FC_RCTL_DD_UNSOL_CTL
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_RCTL_ILS_REP FC_RCTL_DD_SOL_CTL
  FC_RCTL_ELS_REQ = 0x22,
  FC_RCTL_ELS_REP = 0x23,
  FC_RCTL_ELS4_REQ = 0x32,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_ELS4_REP = 0x33,
  FC_RCTL_VFTH = 0x50,
  FC_RCTL_IFRH = 0x51,
  FC_RCTL_ENCH = 0x52,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_BA_NOP = 0x80,
  FC_RCTL_BA_ABTS = 0x81,
  FC_RCTL_BA_RMC = 0x82,
  FC_RCTL_BA_ACC = 0x84,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_BA_RJT = 0x85,
  FC_RCTL_BA_PRMT = 0x86,
  FC_RCTL_ACK_1 = 0xc0,
  FC_RCTL_ACK_0 = 0xc1,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_P_RJT = 0xc2,
  FC_RCTL_F_RJT = 0xc3,
  FC_RCTL_P_BSY = 0xc4,
  FC_RCTL_F_BSY = 0xc5,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RCTL_F_BSYL = 0xc6,
  FC_RCTL_LCR = 0xc7,
  FC_RCTL_END = 0xc9,
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_RCTL_NAMES_INIT {[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", \
}
enum fc_well_known_fid {
  FC_FID_NONE = 0x000000,
  FC_FID_BCAST = 0xffffff,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_FID_FLOGI = 0xfffffe,
  FC_FID_FCTRL = 0xfffffd,
  FC_FID_DIR_SERV = 0xfffffc,
  FC_FID_TIME_SERV = 0xfffffb,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_FID_MGMT_SERV = 0xfffffa,
  FC_FID_QOS = 0xfffff9,
  FC_FID_ALIASES = 0xfffff8,
  FC_FID_SEC_KEY = 0xfffff7,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_FID_CLOCK = 0xfffff6,
  FC_FID_MCAST_SERV = 0xfffff5,
};
#define FC_FID_WELL_KNOWN_MAX 0xffffff
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FID_WELL_KNOWN_BASE 0xfffff5
#define FC_FID_DOM_MGR 0xfffc00
#define FC_FID_DOMAIN 0
#define FC_FID_PORT 1
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FID_LINK 2
enum fc_fh_type {
  FC_TYPE_BLS = 0x00,
  FC_TYPE_ELS = 0x01,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_TYPE_IP = 0x05,
  FC_TYPE_FCP = 0x08,
  FC_TYPE_CT = 0x20,
  FC_TYPE_ILS = 0x22,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
#define FC_TYPE_NAMES_INIT {[FC_TYPE_BLS] = "BLS",[FC_TYPE_ELS] = "ELS",[FC_TYPE_IP] = "IP",[FC_TYPE_FCP] = "FCP",[FC_TYPE_CT] = "CT",[FC_TYPE_ILS] = "ILS", \
}
#define FC_XID_UNKNOWN 0xffff
#define FC_XID_MIN 0x0
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_XID_MAX 0xfffe
#define FC_FC_EX_CTX (1 << 23)
#define FC_FC_SEQ_CTX (1 << 22)
#define FC_FC_FIRST_SEQ (1 << 21)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FC_LAST_SEQ (1 << 20)
#define FC_FC_END_SEQ (1 << 19)
#define FC_FC_END_CONN (1 << 18)
#define FC_FC_RES_B17 (1 << 17)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FC_SEQ_INIT (1 << 16)
#define FC_FC_X_ID_REASS (1 << 15)
#define FC_FC_X_ID_INVAL (1 << 14)
#define FC_FC_ACK_1 (1 << 12)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FC_ACK_N (2 << 12)
#define FC_FC_ACK_0 (3 << 12)
#define FC_FC_RES_B11 (1 << 11)
#define FC_FC_RES_B10 (1 << 10)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FC_RETX_SEQ (1 << 9)
#define FC_FC_UNI_TX (1 << 8)
#define FC_FC_CONT_SEQ(i) ((i) << 6)
#define FC_FC_ABT_SEQ(i) ((i) << 4)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FC_FC_REL_OFF (1 << 3)
#define FC_FC_RES2 (1 << 2)
#define FC_FC_FILL(i) ((i) & 3)
struct fc_ba_acc {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __u8 ba_seq_id_val;
#define FC_BA_SEQ_ID_VAL 0x80
  __u8 ba_seq_id;
  __u8 ba_resvd[2];
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __be16 ba_ox_id;
  __be16 ba_rx_id;
  __be16 ba_low_seq_cnt;
  __be16 ba_high_seq_cnt;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
struct fc_ba_rjt {
  __u8 br_resvd;
  __u8 br_reason;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __u8 br_explan;
  __u8 br_vendor;
};
enum fc_ba_rjt_reason {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_BA_RJT_NONE = 0,
  FC_BA_RJT_INVL_CMD = 0x01,
  FC_BA_RJT_LOG_ERR = 0x03,
  FC_BA_RJT_LOG_BUSY = 0x05,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_BA_RJT_PROTO_ERR = 0x07,
  FC_BA_RJT_UNABLE = 0x09,
  FC_BA_RJT_VENDOR = 0xff,
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
enum fc_ba_rjt_explan {
  FC_BA_RJT_EXP_NONE = 0x00,
  FC_BA_RJT_INV_XID = 0x03,
  FC_BA_RJT_ABT = 0x05,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
struct fc_pf_rjt {
  __u8 rj_action;
  __u8 rj_reason;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __u8 rj_resvd;
  __u8 rj_vendor;
};
enum fc_pf_rjt_reason {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_NONE = 0,
  FC_RJT_INVL_DID = 0x01,
  FC_RJT_INVL_SID = 0x02,
  FC_RJT_P_UNAV_T = 0x03,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_P_UNAV = 0x04,
  FC_RJT_CLS_UNSUP = 0x05,
  FC_RJT_DEL_USAGE = 0x06,
  FC_RJT_TYPE_UNSUP = 0x07,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_LINK_CTL = 0x08,
  FC_RJT_R_CTL = 0x09,
  FC_RJT_F_CTL = 0x0a,
  FC_RJT_OX_ID = 0x0b,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_RX_ID = 0x0c,
  FC_RJT_SEQ_ID = 0x0d,
  FC_RJT_DF_CTL = 0x0e,
  FC_RJT_SEQ_CNT = 0x0f,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_PARAM = 0x10,
  FC_RJT_EXCH_ERR = 0x11,
  FC_RJT_PROTO = 0x12,
  FC_RJT_LEN = 0x13,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_UNEXP_ACK = 0x14,
  FC_RJT_FAB_CLASS = 0x15,
  FC_RJT_LOGI_REQ = 0x16,
  FC_RJT_SEQ_XS = 0x17,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_EXCH_EST = 0x18,
  FC_RJT_FAB_UNAV = 0x1a,
  FC_RJT_VC_ID = 0x1b,
  FC_RJT_CS_CTL = 0x1c,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_INSUF_RES = 0x1d,
  FC_RJT_INVL_CLS = 0x1f,
  FC_RJT_PREEMT_RJT = 0x20,
  FC_RJT_PREEMT_DIS = 0x21,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_MCAST_ERR = 0x22,
  FC_RJT_MCAST_ET = 0x23,
  FC_RJT_PRLI_REQ = 0x24,
  FC_RJT_INVL_ATT = 0x25,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  FC_RJT_VENDOR = 0xff,
};
#define FC_DEF_E_D_TOV 2000UL
#define FC_DEF_R_A_TOV 10000UL
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#endif
