/**************************************************************************** **************************************************************************** *** *** 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_NS_H_ #define _FC_NS_H_ #include #define FC_NS_SUBTYPE 2 enum fc_ns_req { FC_NS_GA_NXT = 0x0100, FC_NS_GI_A = 0x0101, FC_NS_GPN_ID = 0x0112, FC_NS_GNN_ID = 0x0113, FC_NS_GSPN_ID = 0x0118, FC_NS_GID_PN = 0x0121, FC_NS_GID_NN = 0x0131, FC_NS_GID_FT = 0x0171, FC_NS_GPN_FT = 0x0172, FC_NS_GID_PT = 0x01a1, FC_NS_RPN_ID = 0x0212, FC_NS_RNN_ID = 0x0213, FC_NS_RFT_ID = 0x0217, FC_NS_RSPN_ID = 0x0218, FC_NS_RFF_ID = 0x021f, FC_NS_RSNN_NN = 0x0239, }; enum fc_ns_pt { FC_NS_UNID_PORT = 0x00, FC_NS_N_PORT = 0x01, FC_NS_NL_PORT = 0x02, FC_NS_FNL_PORT = 0x03, FC_NS_NX_PORT = 0x7f, FC_NS_F_PORT = 0x81, FC_NS_FL_PORT = 0x82, FC_NS_E_PORT = 0x84, FC_NS_B_PORT = 0x85, }; struct fc_ns_pt_obj { __u8 pt_type; }; struct fc_ns_fid { __u8 fp_flags; __u8 fp_fid[3]; }; #define FC_NS_FID_LAST 0x80 #define FC_NS_TYPES 256 #define FC_NS_BPW 32 struct fc_ns_fts { __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW]; }; struct fc_ns_ff { __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW]; }; struct fc_ns_gid_pt { __u8 fn_pt_type; __u8 fn_domain_id_scope; __u8 fn_area_id_scope; __u8 fn_resvd; }; struct fc_ns_gid_ft { __u8 fn_resvd; __u8 fn_domain_id_scope; __u8 fn_area_id_scope; __u8 fn_fc4_type; }; struct fc_gpn_ft_resp { __u8 fp_flags; __u8 fp_fid[3]; __be32 fp_resvd; __be64 fp_wwpn; }; struct fc_ns_gid_pn { __be64 fn_wwpn; }; struct fc_gid_pn_resp { __u8 fp_resvd; __u8 fp_fid[3]; }; struct fc_gspn_resp { __u8 fp_name_len; char fp_name[]; }; struct fc_ns_rft_id { struct fc_ns_fid fr_fid; struct fc_ns_fts fr_fts; }; struct fc_ns_rn_id { struct fc_ns_fid fr_fid; __be64 fr_wwn; } __attribute__((__packed__)); struct fc_ns_rsnn { __be64 fr_wwn; __u8 fr_name_len; char fr_name[]; } __attribute__((__packed__)); struct fc_ns_rspn { struct fc_ns_fid fr_fid; __u8 fr_name_len; char fr_name[]; } __attribute__((__packed__)); struct fc_ns_rff_id { struct fc_ns_fid fr_fid; __u8 fr_resvd[2]; __u8 fr_feat; __u8 fr_type; } __attribute__((__packed__)); #endif