• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _FC_NS_H_
7 #define	_FC_NS_H_
8 #include <linux/types.h>
9 #define	FC_NS_SUBTYPE	    2
10 enum fc_ns_req {
11 	FC_NS_GA_NXT =	0x0100,
12 	FC_NS_GI_A =	0x0101,
13 	FC_NS_GPN_ID =	0x0112,
14 	FC_NS_GNN_ID =	0x0113,
15 	FC_NS_GSPN_ID = 0x0118,
16 	FC_NS_GID_PN =	0x0121,
17 	FC_NS_GID_NN =	0x0131,
18 	FC_NS_GID_FT =	0x0171,
19 	FC_NS_GPN_FT =	0x0172,
20 	FC_NS_GID_PT =	0x01a1,
21 	FC_NS_RPN_ID =	0x0212,
22 	FC_NS_RNN_ID =	0x0213,
23 	FC_NS_RFT_ID =	0x0217,
24 	FC_NS_RSPN_ID =	0x0218,
25 	FC_NS_RFF_ID =	0x021f,
26 	FC_NS_RSNN_NN =	0x0239,
27 };
28 enum fc_ns_pt {
29 	FC_NS_UNID_PORT = 0x00,
30 	FC_NS_N_PORT =	0x01,
31 	FC_NS_NL_PORT =	0x02,
32 	FC_NS_FNL_PORT = 0x03,
33 	FC_NS_NX_PORT =	0x7f,
34 	FC_NS_F_PORT =	0x81,
35 	FC_NS_FL_PORT =	0x82,
36 	FC_NS_E_PORT =	0x84,
37 	FC_NS_B_PORT =	0x85,
38 };
39 struct fc_ns_pt_obj {
40 	__u8		pt_type;
41 };
42 struct fc_ns_fid {
43 	__u8		fp_flags;
44 	__u8		fp_fid[3];
45 };
46 #define	FC_NS_FID_LAST	0x80
47 #define	FC_NS_TYPES	256
48 #define	FC_NS_BPW	32
49 struct fc_ns_fts {
50 	__be32	ff_type_map[FC_NS_TYPES / FC_NS_BPW];
51 };
52 struct fc_ns_ff	{
53 	__be32	fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW];
54 };
55 struct fc_ns_gid_pt {
56 	__u8		fn_pt_type;
57 	__u8		fn_domain_id_scope;
58 	__u8		fn_area_id_scope;
59 	__u8		fn_resvd;
60 };
61 struct fc_ns_gid_ft {
62 	__u8		fn_resvd;
63 	__u8		fn_domain_id_scope;
64 	__u8		fn_area_id_scope;
65 	__u8		fn_fc4_type;
66 };
67 struct fc_gpn_ft_resp {
68 	__u8		fp_flags;
69 	__u8		fp_fid[3];
70 	__be32		fp_resvd;
71 	__be64		fp_wwpn;
72 };
73 struct fc_ns_gid_pn {
74 	__be64     fn_wwpn;
75 };
76 struct fc_gid_pn_resp {
77 	__u8      fp_resvd;
78 	__u8      fp_fid[3];
79 };
80 struct fc_gspn_resp {
81 	__u8	fp_name_len;
82 	char	fp_name[];
83 };
84 struct fc_ns_rft_id {
85 	struct fc_ns_fid fr_fid;
86 	struct fc_ns_fts fr_fts;
87 };
88 struct fc_ns_rn_id {
89 	struct fc_ns_fid fr_fid;
90 	__be64		fr_wwn;
91 } __attribute__((__packed__));
92 struct fc_ns_rsnn {
93 	__be64		fr_wwn;
94 	__u8		fr_name_len;
95 	char		fr_name[];
96 } __attribute__((__packed__));
97 struct fc_ns_rspn {
98 	struct fc_ns_fid fr_fid;
99 	__u8		fr_name_len;
100 	char		fr_name[];
101 } __attribute__((__packed__));
102 struct fc_ns_rff_id {
103 	struct fc_ns_fid fr_fid;
104 	__u8		fr_resvd[2];
105 	__u8		fr_feat;
106 	__u8		fr_type;
107 } __attribute__((__packed__));
108 #endif
109