1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _LINUX_RDS_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _LINUX_RDS_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_IB_ABI_VERSION 0x301
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SOL_RDS 276
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CANCEL_SENT_TO 1
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_GET_MR 2
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_FREE_MR 3
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define RDS_RECVERR 5
30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CONG_MONITOR 6
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_GET_MR_FOR_DEST 7
3205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SO_RDS_TRANSPORT 8
3305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define RDS_TRANS_IB 0
3505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define RDS_TRANS_IWARP 1
3605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define RDS_TRANS_TCP 2
3705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define RDS_TRANS_COUNT 3
3805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define RDS_TRANS_NONE (~0)
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_RDMA_ARGS 1
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_RDMA_DEST 2
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_RDMA_MAP 3
4305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_RDMA_STATUS 4
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_CONG_UPDATE 5
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_ATOMIC_FADD 6
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_ATOMIC_CSWP 7
4805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_MASKED_ATOMIC_FADD 8
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CMSG_MASKED_ATOMIC_CSWP 9
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_FIRST 10000
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_COUNTERS 10000
5305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_CONNECTIONS 10001
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_SEND_MESSAGES 10003
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_RETRANS_MESSAGES 10004
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_RECV_MESSAGES 10005
5805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_SOCKETS 10006
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_TCP_SOCKETS 10007
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_IB_CONNECTIONS 10008
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_CONNECTION_STATS 10009
6305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_IWARP_CONNECTIONS 10010
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_LAST 10010
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_info_counter {
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint8_t name[32];
6805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t value;
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} __attribute__((packed));
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_CONNECTION_FLAG_SENDING 0x01
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_CONNECTION_FLAG_CONNECTING 0x02
7305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_CONNECTION_FLAG_CONNECTED 0x04
75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TRANSNAMSIZ 16
76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_info_connection {
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t next_tx_seq;
7805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t next_rx_seq;
80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 laddr;
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 faddr;
82d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint8_t transport[TRANSNAMSIZ];
8305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint8_t flags;
85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} __attribute__((packed));
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_MESSAGE_FLAG_ACK 0x01
87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02
8805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_info_message {
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t seq;
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t len;
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 laddr;
9305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 faddr;
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 lport;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 fport;
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint8_t flags;
9805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} __attribute__((packed));
100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_info_socket {
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t sndbuf;
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 bound_addr;
10305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 connected_addr;
105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 bound_port;
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 connected_port;
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t rcvbuf;
10805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t inum;
110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} __attribute__((packed));
111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_info_tcp_socket {
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 local_addr;
11305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 local_port;
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 peer_addr;
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 peer_port;
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t hdr_rem;
11805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t data_rem;
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t last_sent_nxt;
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t last_expected_una;
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t last_seen_una;
12305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} __attribute__((packed));
125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_IB_GID_LEN 16
126655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_info_rdma_connection {
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 src_addr;
12805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 dst_addr;
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint8_t src_gid[RDS_IB_GID_LEN];
131d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint8_t dst_gid[RDS_IB_GID_LEN];
132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t max_send_wr;
13305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t max_recv_wr;
135d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t max_send_sge;
136d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t rdma_mr_max;
137d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint32_t rdma_mr_size;
13805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
140655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CONG_MONITOR_SIZE 64
141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CONG_MONITOR_BIT(port) (((unsigned int) port) % RDS_CONG_MONITOR_SIZE)
142655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_CONG_MONITOR_MASK(port) (1ULL << RDS_CONG_MONITOR_BIT(port))
14305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef uint64_t rds_rdma_cookie_t;
145655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_iovec {
146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t addr;
147d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t bytes;
14805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
150655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_get_mr_args {
151d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct rds_iovec vec;
152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t cookie_addr;
15305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t flags;
155655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
156655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_get_mr_for_dest_args {
157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct sockaddr_storage dest_addr;
15805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct rds_iovec vec;
160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t cookie_addr;
161d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t flags;
162655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
16305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_free_mr_args {
165d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  rds_rdma_cookie_t cookie;
166d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t flags;
167655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
16805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_rdma_args {
170d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  rds_rdma_cookie_t cookie;
171d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct rds_iovec remote_vec;
172d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t local_vec_addr;
17305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t nr_local;
175d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t flags;
176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t user_token;
177655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
17805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_atomic_args {
180d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  rds_rdma_cookie_t cookie;
181d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t local_addr;
182d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t remote_addr;
18305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  union {
185d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
186d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t compare;
187d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t swap;
18805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } cswp;
190d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
191d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t add;
192d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } fadd;
19305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
195d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t compare;
196d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t swap;
197d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t compare_mask;
19805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t swap_mask;
200d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } m_cswp;
201d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
202d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t add;
20305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      uint64_t nocarry_mask;
205d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } m_fadd;
206d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  };
207d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t flags;
20805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t user_token;
210655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
211655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rds_rdma_notify {
212d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  uint64_t user_token;
21305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int32_t status;
215655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
216655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_SUCCESS 0
217655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_REMOTE_ERROR 1
21805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_CANCELED 2
220655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_DROPPED 3
221655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_OTHER_ERROR 4
222655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_READWRITE 0x0001
22305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_FENCE 0x0002
225655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_INVALIDATE 0x0004
226655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_USE_ONCE 0x0008
227655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_DONTWAIT 0x0010
22805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_NOTIFY_ME 0x0020
230655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define RDS_RDMA_SILENT 0x0040
231655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
232