Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 23 | enum fc_ns_req { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 24 | FC_NS_GA_NXT = 0x0100, |
| 25 | FC_NS_GI_A = 0x0101, |
| 26 | FC_NS_GPN_ID = 0x0112, |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 27 | FC_NS_GNN_ID = 0x0113, |
| 28 | FC_NS_GSPN_ID = 0x0118, |
| 29 | FC_NS_GID_PN = 0x0121, |
| 30 | FC_NS_GID_NN = 0x0131, |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 31 | FC_NS_GID_FT = 0x0171, |
| 32 | FC_NS_GPN_FT = 0x0172, |
| 33 | FC_NS_GID_PT = 0x01a1, |
| 34 | FC_NS_RPN_ID = 0x0212, |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 35 | FC_NS_RNN_ID = 0x0213, |
| 36 | FC_NS_RFT_ID = 0x0217, |
| 37 | FC_NS_RSPN_ID = 0x0218, |
| 38 | FC_NS_RFF_ID = 0x021f, |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 39 | FC_NS_RSNN_NN = 0x0239, |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 40 | }; |
| 41 | enum fc_ns_pt { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 42 | FC_NS_UNID_PORT = 0x00, |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 43 | FC_NS_N_PORT = 0x01, |
| 44 | FC_NS_NL_PORT = 0x02, |
| 45 | FC_NS_FNL_PORT = 0x03, |
| 46 | FC_NS_NX_PORT = 0x7f, |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 47 | FC_NS_F_PORT = 0x81, |
| 48 | FC_NS_FL_PORT = 0x82, |
| 49 | FC_NS_E_PORT = 0x84, |
| 50 | FC_NS_B_PORT = 0x85, |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 51 | }; |
| 52 | struct fc_ns_pt_obj { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 53 | __u8 pt_type; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 54 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 55 | struct fc_ns_fid { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 56 | __u8 fp_flags; |
| 57 | __u8 fp_fid[3]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 58 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 59 | #define FC_NS_FID_LAST 0x80 |
| 60 | #define FC_NS_TYPES 256 |
| 61 | #define FC_NS_BPW 32 |
| 62 | struct fc_ns_fts { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 63 | __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 64 | }; |
| 65 | struct fc_ns_ff { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 66 | __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 67 | }; |
| 68 | struct fc_ns_gid_pt { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 69 | __u8 fn_pt_type; |
| 70 | __u8 fn_domain_id_scope; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 71 | __u8 fn_area_id_scope; |
| 72 | __u8 fn_resvd; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 73 | }; |
| 74 | struct fc_ns_gid_ft { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 75 | __u8 fn_resvd; |
| 76 | __u8 fn_domain_id_scope; |
| 77 | __u8 fn_area_id_scope; |
| 78 | __u8 fn_fc4_type; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 79 | }; |
| 80 | struct fc_gpn_ft_resp { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 81 | __u8 fp_flags; |
| 82 | __u8 fp_fid[3]; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 83 | __be32 fp_resvd; |
| 84 | __be64 fp_wwpn; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 85 | }; |
| 86 | struct fc_ns_gid_pn { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 87 | __be64 fn_wwpn; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 88 | }; |
| 89 | struct fc_gid_pn_resp { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 90 | __u8 fp_resvd; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 91 | __u8 fp_fid[3]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 92 | }; |
| 93 | struct fc_gspn_resp { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 94 | __u8 fp_name_len; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 95 | char fp_name[]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 96 | }; |
| 97 | struct fc_ns_rft_id { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 98 | struct fc_ns_fid fr_fid; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 99 | struct fc_ns_fts fr_fts; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 100 | }; |
| 101 | struct fc_ns_rn_id { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 102 | struct fc_ns_fid fr_fid; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 103 | __be64 fr_wwn; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 104 | } __attribute__((__packed__)); |
| 105 | struct fc_ns_rsnn { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 106 | __be64 fr_wwn; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 107 | __u8 fr_name_len; |
| 108 | char fr_name[]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 109 | } __attribute__((__packed__)); |
| 110 | struct fc_ns_rspn { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 111 | struct fc_ns_fid fr_fid; |
| 112 | __u8 fr_name_len; |
| 113 | char fr_name[]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 114 | } __attribute__((__packed__)); |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 115 | struct fc_ns_rff_id { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 116 | struct fc_ns_fid fr_fid; |
| 117 | __u8 fr_resvd[2]; |
| 118 | __u8 fr_feat; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 119 | __u8 fr_type; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 120 | } __attribute__((__packed__)); |
| 121 | #endif |