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