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 NES_ABI_USER_H
20#define NES_ABI_USER_H
21#include <linux/types.h>
22#define NES_ABI_USERSPACE_VER 2
23#define NES_ABI_KERNEL_VER 2
24struct nes_alloc_ucontext_req {
25  __u32 reserved32;
26  __u8 userspace_ver;
27  __u8 reserved8[3];
28};
29struct nes_alloc_ucontext_resp {
30  __u32 max_pds;
31  __u32 max_qps;
32  __u32 wq_size;
33  __u8 virtwq;
34  __u8 kernel_ver;
35  __u8 reserved[2];
36};
37struct nes_alloc_pd_resp {
38  __u32 pd_id;
39  __u32 mmap_db_index;
40};
41struct nes_create_cq_req {
42  __u64 user_cq_buffer;
43  __u32 mcrqf;
44  __u8 reserved[4];
45};
46struct nes_create_qp_req {
47  __u64 user_wqe_buffers;
48  __u64 user_qp_buffer;
49};
50enum iwnes_memreg_type {
51  IWNES_MEMREG_TYPE_MEM = 0x0000,
52  IWNES_MEMREG_TYPE_QP = 0x0001,
53  IWNES_MEMREG_TYPE_CQ = 0x0002,
54  IWNES_MEMREG_TYPE_MW = 0x0003,
55  IWNES_MEMREG_TYPE_FMR = 0x0004,
56  IWNES_MEMREG_TYPE_FMEM = 0x0005,
57};
58struct nes_mem_reg_req {
59  __u32 reg_type;
60  __u32 reserved;
61};
62struct nes_create_cq_resp {
63  __u32 cq_id;
64  __u32 cq_size;
65  __u32 mmap_db_index;
66  __u32 reserved;
67};
68struct nes_create_qp_resp {
69  __u32 qp_id;
70  __u32 actual_sq_size;
71  __u32 actual_rq_size;
72  __u32 mmap_sq_db_index;
73  __u32 mmap_rq_db_index;
74  __u32 nes_drv_opt;
75};
76#endif
77