ib_user_verbs.h revision 05d08e9716b5974d6ed08973f44930804890b902
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
25enum {
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 */
79enum {
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};
87struct 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 */
94struct 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
102struct 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 */
109struct 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};
116struct 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};
121struct 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};
126struct 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};
131struct 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};
185struct 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};
190struct 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};
201struct 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};
211struct 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 */
219struct 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};
247struct 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};
252struct ib_uverbs_alloc_pd_resp {
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  __u32 pd_handle;
255};
256struct ib_uverbs_dealloc_pd {
257  __u32 pd_handle;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259};
260struct 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};
267struct ib_uverbs_open_xrcd_resp {
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  __u32 xrcd_handle;
270};
271struct ib_uverbs_close_xrcd {
272  __u32 xrcd_handle;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274};
275struct 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};
286struct 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};
292struct 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};
305struct ib_uverbs_rereg_mr_resp {
306  __u32 lkey;
307  __u32 rkey;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309};
310struct ib_uverbs_dereg_mr {
311  __u32 mr_handle;
312};
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314struct 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};
321struct 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};
326struct ib_uverbs_dealloc_mw {
327  __u32 mw_handle;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329};
330struct ib_uverbs_create_comp_channel {
331  __u64 response;
332};
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334struct ib_uverbs_create_comp_channel_resp {
335  __u32 fd;
336};
337struct 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 */
349struct 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};
360struct 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};
365struct 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};
371struct 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 */
379struct 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};
385struct 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};
391struct 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};
416struct 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};
422struct 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};
427struct 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 */
434struct 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 */
439struct 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 */
449struct 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};
461struct 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};
502struct 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};
525struct 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};
547struct 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 */
559struct 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};
571struct 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};
577struct 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};
595struct 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};
602struct 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 */
644struct 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};
680struct ib_uverbs_modify_qp_resp {
681};
682struct 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 */
689struct ib_uverbs_destroy_qp_resp {
690  __u32 events_reported;
691};
692struct 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 */
699struct 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};
736struct 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};
746struct ib_uverbs_post_send_resp {
747  __u32 bad_wr;
748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749};
750struct 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};
756struct 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};
766struct ib_uverbs_post_recv_resp {
767  __u32 bad_wr;
768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769};
770struct 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};
780struct ib_uverbs_post_srq_recv_resp {
781  __u32 bad_wr;
782};
783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784struct 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};
792struct ib_uverbs_create_ah_resp {
793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794  __u32 ah_handle;
795};
796struct ib_uverbs_destroy_ah {
797  __u32 ah_handle;
798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799};
800struct 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 */
809struct 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};
817struct 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};
825struct 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};
832struct 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};
847struct 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};
852struct 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};
867struct 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};
872struct 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};
887struct 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};
900struct 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};
906struct 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};
911struct 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};
916struct 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};
927struct 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 */
944struct 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};
951struct 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};
960struct 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};
967struct 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};
975struct 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};
981struct 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