Home | History | Annotate | Download | only in rdma
      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 IB_USER_VERBS_H
     20 #define IB_USER_VERBS_H
     21 #include <linux/types.h>
     22 #define IB_USER_VERBS_ABI_VERSION 6
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define IB_USER_VERBS_CMD_THRESHOLD 50
     25 enum {
     26   IB_USER_VERBS_CMD_GET_CONTEXT,
     27   IB_USER_VERBS_CMD_QUERY_DEVICE,
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29   IB_USER_VERBS_CMD_QUERY_PORT,
     30   IB_USER_VERBS_CMD_ALLOC_PD,
     31   IB_USER_VERBS_CMD_DEALLOC_PD,
     32   IB_USER_VERBS_CMD_CREATE_AH,
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34   IB_USER_VERBS_CMD_MODIFY_AH,
     35   IB_USER_VERBS_CMD_QUERY_AH,
     36   IB_USER_VERBS_CMD_DESTROY_AH,
     37   IB_USER_VERBS_CMD_REG_MR,
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39   IB_USER_VERBS_CMD_REG_SMR,
     40   IB_USER_VERBS_CMD_REREG_MR,
     41   IB_USER_VERBS_CMD_QUERY_MR,
     42   IB_USER_VERBS_CMD_DEREG_MR,
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44   IB_USER_VERBS_CMD_ALLOC_MW,
     45   IB_USER_VERBS_CMD_BIND_MW,
     46   IB_USER_VERBS_CMD_DEALLOC_MW,
     47   IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL,
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49   IB_USER_VERBS_CMD_CREATE_CQ,
     50   IB_USER_VERBS_CMD_RESIZE_CQ,
     51   IB_USER_VERBS_CMD_DESTROY_CQ,
     52   IB_USER_VERBS_CMD_POLL_CQ,
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54   IB_USER_VERBS_CMD_PEEK_CQ,
     55   IB_USER_VERBS_CMD_REQ_NOTIFY_CQ,
     56   IB_USER_VERBS_CMD_CREATE_QP,
     57   IB_USER_VERBS_CMD_QUERY_QP,
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59   IB_USER_VERBS_CMD_MODIFY_QP,
     60   IB_USER_VERBS_CMD_DESTROY_QP,
     61   IB_USER_VERBS_CMD_POST_SEND,
     62   IB_USER_VERBS_CMD_POST_RECV,
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64   IB_USER_VERBS_CMD_ATTACH_MCAST,
     65   IB_USER_VERBS_CMD_DETACH_MCAST,
     66   IB_USER_VERBS_CMD_CREATE_SRQ,
     67   IB_USER_VERBS_CMD_MODIFY_SRQ,
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69   IB_USER_VERBS_CMD_QUERY_SRQ,
     70   IB_USER_VERBS_CMD_DESTROY_SRQ,
     71   IB_USER_VERBS_CMD_POST_SRQ_RECV,
     72   IB_USER_VERBS_CMD_OPEN_XRCD,
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74   IB_USER_VERBS_CMD_CLOSE_XRCD,
     75   IB_USER_VERBS_CMD_CREATE_XSRQ,
     76   IB_USER_VERBS_CMD_OPEN_QP,
     77 };
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 enum {
     80   IB_USER_VERBS_EX_CMD_QUERY_DEVICE = IB_USER_VERBS_CMD_QUERY_DEVICE,
     81   IB_USER_VERBS_EX_CMD_CREATE_CQ = IB_USER_VERBS_CMD_CREATE_CQ,
     82   IB_USER_VERBS_EX_CMD_CREATE_QP = IB_USER_VERBS_CMD_CREATE_QP,
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84   IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD,
     85   IB_USER_VERBS_EX_CMD_DESTROY_FLOW,
     86 };
     87 struct ib_uverbs_async_event_desc {
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89   __u64 element;
     90   __u32 event_type;
     91   __u32 reserved;
     92 };
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 struct ib_uverbs_comp_event_desc {
     95   __u64 cq_handle;
     96 };
     97 #define IB_USER_VERBS_CMD_COMMAND_MASK 0xff
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define IB_USER_VERBS_CMD_FLAGS_MASK 0xff000000u
    100 #define IB_USER_VERBS_CMD_FLAGS_SHIFT 24
    101 #define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80
    102 struct ib_uverbs_cmd_hdr {
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104   __u32 command;
    105   __u16 in_words;
    106   __u16 out_words;
    107 };
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 struct ib_uverbs_ex_cmd_hdr {
    110   __u64 response;
    111   __u16 provider_in_words;
    112   __u16 provider_out_words;
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114   __u32 cmd_hdr_reserved;
    115 };
    116 struct ib_uverbs_get_context {
    117   __u64 response;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119   __u64 driver_data[0];
    120 };
    121 struct ib_uverbs_get_context_resp {
    122   __u32 async_fd;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124   __u32 num_comp_vectors;
    125 };
    126 struct ib_uverbs_query_device {
    127   __u64 response;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129   __u64 driver_data[0];
    130 };
    131 struct ib_uverbs_query_device_resp {
    132   __u64 fw_ver;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134   __be64 node_guid;
    135   __be64 sys_image_guid;
    136   __u64 max_mr_size;
    137   __u64 page_size_cap;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139   __u32 vendor_id;
    140   __u32 vendor_part_id;
    141   __u32 hw_ver;
    142   __u32 max_qp;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144   __u32 max_qp_wr;
    145   __u32 device_cap_flags;
    146   __u32 max_sge;
    147   __u32 max_sge_rd;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149   __u32 max_cq;
    150   __u32 max_cqe;
    151   __u32 max_mr;
    152   __u32 max_pd;
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154   __u32 max_qp_rd_atom;
    155   __u32 max_ee_rd_atom;
    156   __u32 max_res_rd_atom;
    157   __u32 max_qp_init_rd_atom;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159   __u32 max_ee_init_rd_atom;
    160   __u32 atomic_cap;
    161   __u32 max_ee;
    162   __u32 max_rdd;
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164   __u32 max_mw;
    165   __u32 max_raw_ipv6_qp;
    166   __u32 max_raw_ethy_qp;
    167   __u32 max_mcast_grp;
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169   __u32 max_mcast_qp_attach;
    170   __u32 max_total_mcast_qp_attach;
    171   __u32 max_ah;
    172   __u32 max_fmr;
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174   __u32 max_map_per_fmr;
    175   __u32 max_srq;
    176   __u32 max_srq_wr;
    177   __u32 max_srq_sge;
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179   __u16 max_pkeys;
    180   __u8 local_ca_ack_delay;
    181   __u8 phys_port_cnt;
    182   __u8 reserved[4];
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 };
    185 struct ib_uverbs_ex_query_device {
    186   __u32 comp_mask;
    187   __u32 reserved;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 };
    190 struct ib_uverbs_odp_caps {
    191   __u64 general_caps;
    192   struct {
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194     __u32 rc_odp_caps;
    195     __u32 uc_odp_caps;
    196     __u32 ud_odp_caps;
    197   } per_transport_caps;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199   __u32 reserved;
    200 };
    201 struct ib_uverbs_ex_query_device_resp {
    202   struct ib_uverbs_query_device_resp base;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204   __u32 comp_mask;
    205   __u32 response_length;
    206   struct ib_uverbs_odp_caps odp_caps;
    207   __u64 timestamp_mask;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209   __u64 hca_core_clock;
    210 };
    211 struct ib_uverbs_query_port {
    212   __u64 response;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214   __u8 port_num;
    215   __u8 reserved[7];
    216   __u64 driver_data[0];
    217 };
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 struct ib_uverbs_query_port_resp {
    220   __u32 port_cap_flags;
    221   __u32 max_msg_sz;
    222   __u32 bad_pkey_cntr;
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224   __u32 qkey_viol_cntr;
    225   __u32 gid_tbl_len;
    226   __u16 pkey_tbl_len;
    227   __u16 lid;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229   __u16 sm_lid;
    230   __u8 state;
    231   __u8 max_mtu;
    232   __u8 active_mtu;
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234   __u8 lmc;
    235   __u8 max_vl_num;
    236   __u8 sm_sl;
    237   __u8 subnet_timeout;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239   __u8 init_type_reply;
    240   __u8 active_width;
    241   __u8 active_speed;
    242   __u8 phys_state;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244   __u8 link_layer;
    245   __u8 reserved[2];
    246 };
    247 struct ib_uverbs_alloc_pd {
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249   __u64 response;
    250   __u64 driver_data[0];
    251 };
    252 struct ib_uverbs_alloc_pd_resp {
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254   __u32 pd_handle;
    255 };
    256 struct ib_uverbs_dealloc_pd {
    257   __u32 pd_handle;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259 };
    260 struct ib_uverbs_open_xrcd {
    261   __u64 response;
    262   __u32 fd;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264   __u32 oflags;
    265   __u64 driver_data[0];
    266 };
    267 struct ib_uverbs_open_xrcd_resp {
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269   __u32 xrcd_handle;
    270 };
    271 struct ib_uverbs_close_xrcd {
    272   __u32 xrcd_handle;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 };
    275 struct ib_uverbs_reg_mr {
    276   __u64 response;
    277   __u64 start;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279   __u64 length;
    280   __u64 hca_va;
    281   __u32 pd_handle;
    282   __u32 access_flags;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284   __u64 driver_data[0];
    285 };
    286 struct ib_uverbs_reg_mr_resp {
    287   __u32 mr_handle;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289   __u32 lkey;
    290   __u32 rkey;
    291 };
    292 struct ib_uverbs_rereg_mr {
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294   __u64 response;
    295   __u32 mr_handle;
    296   __u32 flags;
    297   __u64 start;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299   __u64 length;
    300   __u64 hca_va;
    301   __u32 pd_handle;
    302   __u32 access_flags;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 };
    305 struct ib_uverbs_rereg_mr_resp {
    306   __u32 lkey;
    307   __u32 rkey;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 };
    310 struct ib_uverbs_dereg_mr {
    311   __u32 mr_handle;
    312 };
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314 struct ib_uverbs_alloc_mw {
    315   __u64 response;
    316   __u32 pd_handle;
    317   __u8 mw_type;
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319   __u8 reserved[3];
    320 };
    321 struct ib_uverbs_alloc_mw_resp {
    322   __u32 mw_handle;
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324   __u32 rkey;
    325 };
    326 struct ib_uverbs_dealloc_mw {
    327   __u32 mw_handle;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329 };
    330 struct ib_uverbs_create_comp_channel {
    331   __u64 response;
    332 };
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334 struct ib_uverbs_create_comp_channel_resp {
    335   __u32 fd;
    336 };
    337 struct ib_uverbs_create_cq {
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339   __u64 response;
    340   __u64 user_handle;
    341   __u32 cqe;
    342   __u32 comp_vector;
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344   __s32 comp_channel;
    345   __u32 reserved;
    346   __u64 driver_data[0];
    347 };
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349 struct ib_uverbs_ex_create_cq {
    350   __u64 user_handle;
    351   __u32 cqe;
    352   __u32 comp_vector;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354   __s32 comp_channel;
    355   __u32 comp_mask;
    356   __u32 flags;
    357   __u32 reserved;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359 };
    360 struct ib_uverbs_create_cq_resp {
    361   __u32 cq_handle;
    362   __u32 cqe;
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364 };
    365 struct ib_uverbs_ex_create_cq_resp {
    366   struct ib_uverbs_create_cq_resp base;
    367   __u32 comp_mask;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369   __u32 response_length;
    370 };
    371 struct ib_uverbs_resize_cq {
    372   __u64 response;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374   __u32 cq_handle;
    375   __u32 cqe;
    376   __u64 driver_data[0];
    377 };
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 struct ib_uverbs_resize_cq_resp {
    380   __u32 cqe;
    381   __u32 reserved;
    382   __u64 driver_data[0];
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384 };
    385 struct ib_uverbs_poll_cq {
    386   __u64 response;
    387   __u32 cq_handle;
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389   __u32 ne;
    390 };
    391 struct ib_uverbs_wc {
    392   __u64 wr_id;
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394   __u32 status;
    395   __u32 opcode;
    396   __u32 vendor_err;
    397   __u32 byte_len;
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399   union {
    400     __u32 imm_data;
    401     __u32 invalidate_rkey;
    402   } ex;
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404   __u32 qp_num;
    405   __u32 src_qp;
    406   __u32 wc_flags;
    407   __u16 pkey_index;
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409   __u16 slid;
    410   __u8 sl;
    411   __u8 dlid_path_bits;
    412   __u8 port_num;
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414   __u8 reserved;
    415 };
    416 struct ib_uverbs_poll_cq_resp {
    417   __u32 count;
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419   __u32 reserved;
    420   struct ib_uverbs_wc wc[0];
    421 };
    422 struct ib_uverbs_req_notify_cq {
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424   __u32 cq_handle;
    425   __u32 solicited_only;
    426 };
    427 struct ib_uverbs_destroy_cq {
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429   __u64 response;
    430   __u32 cq_handle;
    431   __u32 reserved;
    432 };
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 struct ib_uverbs_destroy_cq_resp {
    435   __u32 comp_events_reported;
    436   __u32 async_events_reported;
    437 };
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439 struct ib_uverbs_global_route {
    440   __u8 dgid[16];
    441   __u32 flow_label;
    442   __u8 sgid_index;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444   __u8 hop_limit;
    445   __u8 traffic_class;
    446   __u8 reserved;
    447 };
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449 struct ib_uverbs_ah_attr {
    450   struct ib_uverbs_global_route grh;
    451   __u16 dlid;
    452   __u8 sl;
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454   __u8 src_path_bits;
    455   __u8 static_rate;
    456   __u8 is_global;
    457   __u8 port_num;
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459   __u8 reserved;
    460 };
    461 struct ib_uverbs_qp_attr {
    462   __u32 qp_attr_mask;
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464   __u32 qp_state;
    465   __u32 cur_qp_state;
    466   __u32 path_mtu;
    467   __u32 path_mig_state;
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469   __u32 qkey;
    470   __u32 rq_psn;
    471   __u32 sq_psn;
    472   __u32 dest_qp_num;
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474   __u32 qp_access_flags;
    475   struct ib_uverbs_ah_attr ah_attr;
    476   struct ib_uverbs_ah_attr alt_ah_attr;
    477   __u32 max_send_wr;
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479   __u32 max_recv_wr;
    480   __u32 max_send_sge;
    481   __u32 max_recv_sge;
    482   __u32 max_inline_data;
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484   __u16 pkey_index;
    485   __u16 alt_pkey_index;
    486   __u8 en_sqd_async_notify;
    487   __u8 sq_draining;
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489   __u8 max_rd_atomic;
    490   __u8 max_dest_rd_atomic;
    491   __u8 min_rnr_timer;
    492   __u8 port_num;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494   __u8 timeout;
    495   __u8 retry_cnt;
    496   __u8 rnr_retry;
    497   __u8 alt_port_num;
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499   __u8 alt_timeout;
    500   __u8 reserved[5];
    501 };
    502 struct ib_uverbs_create_qp {
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504   __u64 response;
    505   __u64 user_handle;
    506   __u32 pd_handle;
    507   __u32 send_cq_handle;
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509   __u32 recv_cq_handle;
    510   __u32 srq_handle;
    511   __u32 max_send_wr;
    512   __u32 max_recv_wr;
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514   __u32 max_send_sge;
    515   __u32 max_recv_sge;
    516   __u32 max_inline_data;
    517   __u8 sq_sig_all;
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519   __u8 qp_type;
    520   __u8 is_srq;
    521   __u8 reserved;
    522   __u64 driver_data[0];
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 };
    525 struct ib_uverbs_ex_create_qp {
    526   __u64 user_handle;
    527   __u32 pd_handle;
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529   __u32 send_cq_handle;
    530   __u32 recv_cq_handle;
    531   __u32 srq_handle;
    532   __u32 max_send_wr;
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534   __u32 max_recv_wr;
    535   __u32 max_send_sge;
    536   __u32 max_recv_sge;
    537   __u32 max_inline_data;
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539   __u8 sq_sig_all;
    540   __u8 qp_type;
    541   __u8 is_srq;
    542   __u8 reserved;
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544   __u32 comp_mask;
    545   __u32 create_flags;
    546 };
    547 struct ib_uverbs_open_qp {
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549   __u64 response;
    550   __u64 user_handle;
    551   __u32 pd_handle;
    552   __u32 qpn;
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554   __u8 qp_type;
    555   __u8 reserved[7];
    556   __u64 driver_data[0];
    557 };
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559 struct ib_uverbs_create_qp_resp {
    560   __u32 qp_handle;
    561   __u32 qpn;
    562   __u32 max_send_wr;
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564   __u32 max_recv_wr;
    565   __u32 max_send_sge;
    566   __u32 max_recv_sge;
    567   __u32 max_inline_data;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569   __u32 reserved;
    570 };
    571 struct ib_uverbs_ex_create_qp_resp {
    572   struct ib_uverbs_create_qp_resp base;
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574   __u32 comp_mask;
    575   __u32 response_length;
    576 };
    577 struct ib_uverbs_qp_dest {
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579   __u8 dgid[16];
    580   __u32 flow_label;
    581   __u16 dlid;
    582   __u16 reserved;
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584   __u8 sgid_index;
    585   __u8 hop_limit;
    586   __u8 traffic_class;
    587   __u8 sl;
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589   __u8 src_path_bits;
    590   __u8 static_rate;
    591   __u8 is_global;
    592   __u8 port_num;
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594 };
    595 struct ib_uverbs_query_qp {
    596   __u64 response;
    597   __u32 qp_handle;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599   __u32 attr_mask;
    600   __u64 driver_data[0];
    601 };
    602 struct ib_uverbs_query_qp_resp {
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604   struct ib_uverbs_qp_dest dest;
    605   struct ib_uverbs_qp_dest alt_dest;
    606   __u32 max_send_wr;
    607   __u32 max_recv_wr;
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609   __u32 max_send_sge;
    610   __u32 max_recv_sge;
    611   __u32 max_inline_data;
    612   __u32 qkey;
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614   __u32 rq_psn;
    615   __u32 sq_psn;
    616   __u32 dest_qp_num;
    617   __u32 qp_access_flags;
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619   __u16 pkey_index;
    620   __u16 alt_pkey_index;
    621   __u8 qp_state;
    622   __u8 cur_qp_state;
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624   __u8 path_mtu;
    625   __u8 path_mig_state;
    626   __u8 sq_draining;
    627   __u8 max_rd_atomic;
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629   __u8 max_dest_rd_atomic;
    630   __u8 min_rnr_timer;
    631   __u8 port_num;
    632   __u8 timeout;
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634   __u8 retry_cnt;
    635   __u8 rnr_retry;
    636   __u8 alt_port_num;
    637   __u8 alt_timeout;
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639   __u8 sq_sig_all;
    640   __u8 reserved[5];
    641   __u64 driver_data[0];
    642 };
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644 struct ib_uverbs_modify_qp {
    645   struct ib_uverbs_qp_dest dest;
    646   struct ib_uverbs_qp_dest alt_dest;
    647   __u32 qp_handle;
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649   __u32 attr_mask;
    650   __u32 qkey;
    651   __u32 rq_psn;
    652   __u32 sq_psn;
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654   __u32 dest_qp_num;
    655   __u32 qp_access_flags;
    656   __u16 pkey_index;
    657   __u16 alt_pkey_index;
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659   __u8 qp_state;
    660   __u8 cur_qp_state;
    661   __u8 path_mtu;
    662   __u8 path_mig_state;
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664   __u8 en_sqd_async_notify;
    665   __u8 max_rd_atomic;
    666   __u8 max_dest_rd_atomic;
    667   __u8 min_rnr_timer;
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669   __u8 port_num;
    670   __u8 timeout;
    671   __u8 retry_cnt;
    672   __u8 rnr_retry;
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674   __u8 alt_port_num;
    675   __u8 alt_timeout;
    676   __u8 reserved[2];
    677   __u64 driver_data[0];
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679 };
    680 struct ib_uverbs_modify_qp_resp {
    681 };
    682 struct ib_uverbs_destroy_qp {
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684   __u64 response;
    685   __u32 qp_handle;
    686   __u32 reserved;
    687 };
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689 struct ib_uverbs_destroy_qp_resp {
    690   __u32 events_reported;
    691 };
    692 struct ib_uverbs_sge {
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694   __u64 addr;
    695   __u32 length;
    696   __u32 lkey;
    697 };
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699 struct ib_uverbs_send_wr {
    700   __u64 wr_id;
    701   __u32 num_sge;
    702   __u32 opcode;
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704   __u32 send_flags;
    705   union {
    706     __u32 imm_data;
    707     __u32 invalidate_rkey;
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709   } ex;
    710   union {
    711     struct {
    712       __u64 remote_addr;
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714       __u32 rkey;
    715       __u32 reserved;
    716     } rdma;
    717     struct {
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719       __u64 remote_addr;
    720       __u64 compare_add;
    721       __u64 swap;
    722       __u32 rkey;
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724       __u32 reserved;
    725     } atomic;
    726     struct {
    727       __u32 ah;
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729       __u32 remote_qpn;
    730       __u32 remote_qkey;
    731       __u32 reserved;
    732     } ud;
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734   } wr;
    735 };
    736 struct ib_uverbs_post_send {
    737   __u64 response;
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739   __u32 qp_handle;
    740   __u32 wr_count;
    741   __u32 sge_count;
    742   __u32 wqe_size;
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744   struct ib_uverbs_send_wr send_wr[0];
    745 };
    746 struct ib_uverbs_post_send_resp {
    747   __u32 bad_wr;
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749 };
    750 struct ib_uverbs_recv_wr {
    751   __u64 wr_id;
    752   __u32 num_sge;
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754   __u32 reserved;
    755 };
    756 struct ib_uverbs_post_recv {
    757   __u64 response;
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759   __u32 qp_handle;
    760   __u32 wr_count;
    761   __u32 sge_count;
    762   __u32 wqe_size;
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764   struct ib_uverbs_recv_wr recv_wr[0];
    765 };
    766 struct ib_uverbs_post_recv_resp {
    767   __u32 bad_wr;
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769 };
    770 struct ib_uverbs_post_srq_recv {
    771   __u64 response;
    772   __u32 srq_handle;
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774   __u32 wr_count;
    775   __u32 sge_count;
    776   __u32 wqe_size;
    777   struct ib_uverbs_recv_wr recv[0];
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779 };
    780 struct ib_uverbs_post_srq_recv_resp {
    781   __u32 bad_wr;
    782 };
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784 struct ib_uverbs_create_ah {
    785   __u64 response;
    786   __u64 user_handle;
    787   __u32 pd_handle;
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789   __u32 reserved;
    790   struct ib_uverbs_ah_attr attr;
    791 };
    792 struct ib_uverbs_create_ah_resp {
    793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    794   __u32 ah_handle;
    795 };
    796 struct ib_uverbs_destroy_ah {
    797   __u32 ah_handle;
    798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    799 };
    800 struct ib_uverbs_attach_mcast {
    801   __u8 gid[16];
    802   __u32 qp_handle;
    803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    804   __u16 mlid;
    805   __u16 reserved;
    806   __u64 driver_data[0];
    807 };
    808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    809 struct ib_uverbs_detach_mcast {
    810   __u8 gid[16];
    811   __u32 qp_handle;
    812   __u16 mlid;
    813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    814   __u16 reserved;
    815   __u64 driver_data[0];
    816 };
    817 struct ib_uverbs_flow_spec_hdr {
    818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    819   __u32 type;
    820   __u16 size;
    821   __u16 reserved;
    822   __u64 flow_spec_data[0];
    823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    824 };
    825 struct ib_uverbs_flow_eth_filter {
    826   __u8 dst_mac[6];
    827   __u8 src_mac[6];
    828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    829   __be16 ether_type;
    830   __be16 vlan_tag;
    831 };
    832 struct ib_uverbs_flow_spec_eth {
    833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    834   union {
    835     struct ib_uverbs_flow_spec_hdr hdr;
    836     struct {
    837       __u32 type;
    838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    839       __u16 size;
    840       __u16 reserved;
    841     };
    842   };
    843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    844   struct ib_uverbs_flow_eth_filter val;
    845   struct ib_uverbs_flow_eth_filter mask;
    846 };
    847 struct ib_uverbs_flow_ipv4_filter {
    848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    849   __be32 src_ip;
    850   __be32 dst_ip;
    851 };
    852 struct ib_uverbs_flow_spec_ipv4 {
    853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    854   union {
    855     struct ib_uverbs_flow_spec_hdr hdr;
    856     struct {
    857       __u32 type;
    858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    859       __u16 size;
    860       __u16 reserved;
    861     };
    862   };
    863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    864   struct ib_uverbs_flow_ipv4_filter val;
    865   struct ib_uverbs_flow_ipv4_filter mask;
    866 };
    867 struct ib_uverbs_flow_tcp_udp_filter {
    868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    869   __be16 dst_port;
    870   __be16 src_port;
    871 };
    872 struct ib_uverbs_flow_spec_tcp_udp {
    873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    874   union {
    875     struct ib_uverbs_flow_spec_hdr hdr;
    876     struct {
    877       __u32 type;
    878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    879       __u16 size;
    880       __u16 reserved;
    881     };
    882   };
    883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    884   struct ib_uverbs_flow_tcp_udp_filter val;
    885   struct ib_uverbs_flow_tcp_udp_filter mask;
    886 };
    887 struct ib_uverbs_flow_attr {
    888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    889   __u32 type;
    890   __u16 size;
    891   __u16 priority;
    892   __u8 num_of_specs;
    893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    894   __u8 reserved[2];
    895   __u8 port;
    896   __u32 flags;
    897   struct ib_uverbs_flow_spec_hdr flow_specs[0];
    898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    899 };
    900 struct ib_uverbs_create_flow {
    901   __u32 comp_mask;
    902   __u32 qp_handle;
    903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    904   struct ib_uverbs_flow_attr flow_attr;
    905 };
    906 struct ib_uverbs_create_flow_resp {
    907   __u32 comp_mask;
    908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    909   __u32 flow_handle;
    910 };
    911 struct ib_uverbs_destroy_flow {
    912   __u32 comp_mask;
    913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    914   __u32 flow_handle;
    915 };
    916 struct ib_uverbs_create_srq {
    917   __u64 response;
    918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    919   __u64 user_handle;
    920   __u32 pd_handle;
    921   __u32 max_wr;
    922   __u32 max_sge;
    923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    924   __u32 srq_limit;
    925   __u64 driver_data[0];
    926 };
    927 struct ib_uverbs_create_xsrq {
    928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    929   __u64 response;
    930   __u64 user_handle;
    931   __u32 srq_type;
    932   __u32 pd_handle;
    933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    934   __u32 max_wr;
    935   __u32 max_sge;
    936   __u32 srq_limit;
    937   __u32 reserved;
    938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    939   __u32 xrcd_handle;
    940   __u32 cq_handle;
    941   __u64 driver_data[0];
    942 };
    943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    944 struct ib_uverbs_create_srq_resp {
    945   __u32 srq_handle;
    946   __u32 max_wr;
    947   __u32 max_sge;
    948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    949   __u32 srqn;
    950 };
    951 struct ib_uverbs_modify_srq {
    952   __u32 srq_handle;
    953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    954   __u32 attr_mask;
    955   __u32 max_wr;
    956   __u32 srq_limit;
    957   __u64 driver_data[0];
    958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    959 };
    960 struct ib_uverbs_query_srq {
    961   __u64 response;
    962   __u32 srq_handle;
    963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    964   __u32 reserved;
    965   __u64 driver_data[0];
    966 };
    967 struct ib_uverbs_query_srq_resp {
    968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    969   __u32 max_wr;
    970   __u32 max_sge;
    971   __u32 srq_limit;
    972   __u32 reserved;
    973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    974 };
    975 struct ib_uverbs_destroy_srq {
    976   __u64 response;
    977   __u32 srq_handle;
    978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    979   __u32 reserved;
    980 };
    981 struct ib_uverbs_destroy_srq_resp {
    982   __u32 events_reported;
    983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    984 };
    985 #endif
    986