1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _FC_NS_H_
20 #define _FC_NS_H_
21 #include <linux/types.h>
22 #define FC_NS_SUBTYPE 2
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 enum fc_ns_req {
25   FC_NS_GA_NXT = 0x0100,
26   FC_NS_GI_A = 0x0101,
27   FC_NS_GPN_ID = 0x0112,
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29   FC_NS_GNN_ID = 0x0113,
30   FC_NS_GSPN_ID = 0x0118,
31   FC_NS_GID_PN = 0x0121,
32   FC_NS_GID_NN = 0x0131,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   FC_NS_GID_FT = 0x0171,
35   FC_NS_GPN_FT = 0x0172,
36   FC_NS_GID_PT = 0x01a1,
37   FC_NS_RPN_ID = 0x0212,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   FC_NS_RNN_ID = 0x0213,
40   FC_NS_RFT_ID = 0x0217,
41   FC_NS_RSPN_ID = 0x0218,
42   FC_NS_RFF_ID = 0x021f,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   FC_NS_RSNN_NN = 0x0239,
45 };
46 enum fc_ns_pt {
47   FC_NS_UNID_PORT = 0x00,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   FC_NS_N_PORT = 0x01,
50   FC_NS_NL_PORT = 0x02,
51   FC_NS_FNL_PORT = 0x03,
52   FC_NS_NX_PORT = 0x7f,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   FC_NS_F_PORT = 0x81,
55   FC_NS_FL_PORT = 0x82,
56   FC_NS_E_PORT = 0x84,
57   FC_NS_B_PORT = 0x85,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 };
60 struct fc_ns_pt_obj {
61   __u8 pt_type;
62 };
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct fc_ns_fid {
65   __u8 fp_flags;
66   __u8 fp_fid[3];
67 };
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define FC_NS_FID_LAST 0x80
70 #define FC_NS_TYPES 256
71 #define FC_NS_BPW 32
72 struct fc_ns_fts {
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW];
75 };
76 struct fc_ns_ff {
77   __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW];
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 };
80 struct fc_ns_gid_pt {
81   __u8 fn_pt_type;
82   __u8 fn_domain_id_scope;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   __u8 fn_area_id_scope;
85   __u8 fn_resvd;
86 };
87 struct fc_ns_gid_ft {
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   __u8 fn_resvd;
90   __u8 fn_domain_id_scope;
91   __u8 fn_area_id_scope;
92   __u8 fn_fc4_type;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 };
95 struct fc_gpn_ft_resp {
96   __u8 fp_flags;
97   __u8 fp_fid[3];
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   __be32 fp_resvd;
100   __be64 fp_wwpn;
101 };
102 struct fc_ns_gid_pn {
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   __be64 fn_wwpn;
105 };
106 struct fc_gid_pn_resp {
107   __u8 fp_resvd;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   __u8 fp_fid[3];
110 };
111 struct fc_gspn_resp {
112   __u8 fp_name_len;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   char fp_name[];
115 };
116 struct fc_ns_rft_id {
117   struct fc_ns_fid fr_fid;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   struct fc_ns_fts fr_fts;
120 };
121 struct fc_ns_rn_id {
122   struct fc_ns_fid fr_fid;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   __be64 fr_wwn;
125 } __attribute__((__packed__));
126 struct fc_ns_rsnn {
127   __be64 fr_wwn;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   __u8 fr_name_len;
130   char fr_name[];
131 } __attribute__((__packed__));
132 struct fc_ns_rspn {
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   struct fc_ns_fid fr_fid;
135   __u8 fr_name_len;
136   char fr_name[];
137 } __attribute__((__packed__));
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 struct fc_ns_rff_id {
140   struct fc_ns_fid fr_fid;
141   __u8 fr_resvd[2];
142   __u8 fr_feat;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   __u8 fr_type;
145 } __attribute__((__packed__));
146 #endif
147