blob: ac2f77fc177e81555d17881f2c3e929ec37d2c85 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 _LINUX_RDS_H
20#define _LINUX_RDS_H
21#include <linux/types.h>
22#define RDS_IB_ABI_VERSION 0x301
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080024#define SOL_RDS 276
Ben Cheng655a7c02013-10-16 16:09:24 -070025#define RDS_CANCEL_SENT_TO 1
26#define RDS_GET_MR 2
27#define RDS_FREE_MR 3
Ben Cheng655a7c02013-10-16 16:09:24 -070028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080029#define RDS_RECVERR 5
Ben Cheng655a7c02013-10-16 16:09:24 -070030#define RDS_CONG_MONITOR 6
31#define RDS_GET_MR_FOR_DEST 7
Christopher Ferris05d08e92016-02-04 13:16:38 -080032#define SO_RDS_TRANSPORT 8
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define RDS_TRANS_IB 0
35#define RDS_TRANS_IWARP 1
36#define RDS_TRANS_TCP 2
37#define RDS_TRANS_COUNT 3
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define RDS_TRANS_NONE (~0)
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define RDS_CMSG_RDMA_ARGS 1
41#define RDS_CMSG_RDMA_DEST 2
Ben Cheng655a7c02013-10-16 16:09:24 -070042#define RDS_CMSG_RDMA_MAP 3
Christopher Ferris05d08e92016-02-04 13:16:38 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define RDS_CMSG_RDMA_STATUS 4
45#define RDS_CMSG_CONG_UPDATE 5
46#define RDS_CMSG_ATOMIC_FADD 6
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define RDS_CMSG_ATOMIC_CSWP 7
Christopher Ferris05d08e92016-02-04 13:16:38 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070049#define RDS_CMSG_MASKED_ATOMIC_FADD 8
50#define RDS_CMSG_MASKED_ATOMIC_CSWP 9
51#define RDS_INFO_FIRST 10000
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define RDS_INFO_COUNTERS 10000
Christopher Ferris05d08e92016-02-04 13:16:38 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070054#define RDS_INFO_CONNECTIONS 10001
55#define RDS_INFO_SEND_MESSAGES 10003
56#define RDS_INFO_RETRANS_MESSAGES 10004
Ben Cheng655a7c02013-10-16 16:09:24 -070057#define RDS_INFO_RECV_MESSAGES 10005
Christopher Ferris05d08e92016-02-04 13:16:38 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070059#define RDS_INFO_SOCKETS 10006
60#define RDS_INFO_TCP_SOCKETS 10007
61#define RDS_INFO_IB_CONNECTIONS 10008
Ben Cheng655a7c02013-10-16 16:09:24 -070062#define RDS_INFO_CONNECTION_STATS 10009
Christopher Ferris05d08e92016-02-04 13:16:38 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define RDS_INFO_IWARP_CONNECTIONS 10010
65#define RDS_INFO_LAST 10010
66struct rds_info_counter {
Tao Baod7db5942015-01-28 10:07:51 -080067 uint8_t name[32];
Christopher Ferris05d08e92016-02-04 13:16:38 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080069 uint64_t value;
Ben Cheng655a7c02013-10-16 16:09:24 -070070} __attribute__((packed));
71#define RDS_INFO_CONNECTION_FLAG_SENDING 0x01
Ben Cheng655a7c02013-10-16 16:09:24 -070072#define RDS_INFO_CONNECTION_FLAG_CONNECTING 0x02
Christopher Ferris05d08e92016-02-04 13:16:38 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070074#define RDS_INFO_CONNECTION_FLAG_CONNECTED 0x04
75#define TRANSNAMSIZ 16
76struct rds_info_connection {
Tao Baod7db5942015-01-28 10:07:51 -080077 uint64_t next_tx_seq;
Christopher Ferris05d08e92016-02-04 13:16:38 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080079 uint64_t next_rx_seq;
80 __be32 laddr;
81 __be32 faddr;
Tao Baod7db5942015-01-28 10:07:51 -080082 uint8_t transport[TRANSNAMSIZ];
Christopher Ferris05d08e92016-02-04 13:16:38 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080084 uint8_t flags;
Ben Cheng655a7c02013-10-16 16:09:24 -070085} __attribute__((packed));
86#define RDS_INFO_MESSAGE_FLAG_ACK 0x01
Ben Cheng655a7c02013-10-16 16:09:24 -070087#define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02
Christopher Ferris05d08e92016-02-04 13:16:38 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070089struct rds_info_message {
Tao Baod7db5942015-01-28 10:07:51 -080090 uint64_t seq;
91 uint32_t len;
Tao Baod7db5942015-01-28 10:07:51 -080092 __be32 laddr;
Christopher Ferris05d08e92016-02-04 13:16:38 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080094 __be32 faddr;
95 __be16 lport;
96 __be16 fport;
Tao Baod7db5942015-01-28 10:07:51 -080097 uint8_t flags;
Christopher Ferris05d08e92016-02-04 13:16:38 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070099} __attribute__((packed));
100struct rds_info_socket {
Tao Baod7db5942015-01-28 10:07:51 -0800101 uint32_t sndbuf;
Tao Baod7db5942015-01-28 10:07:51 -0800102 __be32 bound_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800104 __be32 connected_addr;
105 __be16 bound_port;
106 __be16 connected_port;
Tao Baod7db5942015-01-28 10:07:51 -0800107 uint32_t rcvbuf;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800109 uint64_t inum;
Ben Cheng655a7c02013-10-16 16:09:24 -0700110} __attribute__((packed));
111struct rds_info_tcp_socket {
Tao Baod7db5942015-01-28 10:07:51 -0800112 __be32 local_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800114 __be16 local_port;
115 __be32 peer_addr;
116 __be16 peer_port;
Tao Baod7db5942015-01-28 10:07:51 -0800117 uint64_t hdr_rem;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800119 uint64_t data_rem;
120 uint32_t last_sent_nxt;
121 uint32_t last_expected_una;
Tao Baod7db5942015-01-28 10:07:51 -0800122 uint32_t last_seen_una;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700124} __attribute__((packed));
125#define RDS_IB_GID_LEN 16
126struct rds_info_rdma_connection {
Tao Baod7db5942015-01-28 10:07:51 -0800127 __be32 src_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800129 __be32 dst_addr;
130 uint8_t src_gid[RDS_IB_GID_LEN];
131 uint8_t dst_gid[RDS_IB_GID_LEN];
Tao Baod7db5942015-01-28 10:07:51 -0800132 uint32_t max_send_wr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800134 uint32_t max_recv_wr;
135 uint32_t max_send_sge;
136 uint32_t rdma_mr_max;
Tao Baod7db5942015-01-28 10:07:51 -0800137 uint32_t rdma_mr_size;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700139};
140#define RDS_CONG_MONITOR_SIZE 64
141#define RDS_CONG_MONITOR_BIT(port) (((unsigned int) port) % RDS_CONG_MONITOR_SIZE)
Ben Cheng655a7c02013-10-16 16:09:24 -0700142#define RDS_CONG_MONITOR_MASK(port) (1ULL << RDS_CONG_MONITOR_BIT(port))
Christopher Ferris05d08e92016-02-04 13:16:38 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700144typedef uint64_t rds_rdma_cookie_t;
145struct rds_iovec {
Tao Baod7db5942015-01-28 10:07:51 -0800146 uint64_t addr;
Tao Baod7db5942015-01-28 10:07:51 -0800147 uint64_t bytes;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700149};
150struct rds_get_mr_args {
Tao Baod7db5942015-01-28 10:07:51 -0800151 struct rds_iovec vec;
Tao Baod7db5942015-01-28 10:07:51 -0800152 uint64_t cookie_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800154 uint64_t flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700155};
156struct rds_get_mr_for_dest_args {
Tao Baod7db5942015-01-28 10:07:51 -0800157 struct sockaddr_storage dest_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800159 struct rds_iovec vec;
160 uint64_t cookie_addr;
161 uint64_t flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700162};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700164struct rds_free_mr_args {
Tao Baod7db5942015-01-28 10:07:51 -0800165 rds_rdma_cookie_t cookie;
166 uint64_t flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700167};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700169struct rds_rdma_args {
Tao Baod7db5942015-01-28 10:07:51 -0800170 rds_rdma_cookie_t cookie;
171 struct rds_iovec remote_vec;
Tao Baod7db5942015-01-28 10:07:51 -0800172 uint64_t local_vec_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800174 uint64_t nr_local;
175 uint64_t flags;
176 uint64_t user_token;
Ben Cheng655a7c02013-10-16 16:09:24 -0700177};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700179struct rds_atomic_args {
Tao Baod7db5942015-01-28 10:07:51 -0800180 rds_rdma_cookie_t cookie;
181 uint64_t local_addr;
Tao Baod7db5942015-01-28 10:07:51 -0800182 uint64_t remote_addr;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800184 union {
185 struct {
186 uint64_t compare;
Tao Baod7db5942015-01-28 10:07:51 -0800187 uint64_t swap;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800189 } cswp;
190 struct {
191 uint64_t add;
Tao Baod7db5942015-01-28 10:07:51 -0800192 } fadd;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800194 struct {
195 uint64_t compare;
196 uint64_t swap;
Tao Baod7db5942015-01-28 10:07:51 -0800197 uint64_t compare_mask;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800199 uint64_t swap_mask;
200 } m_cswp;
201 struct {
Tao Baod7db5942015-01-28 10:07:51 -0800202 uint64_t add;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800204 uint64_t nocarry_mask;
205 } m_fadd;
206 };
Tao Baod7db5942015-01-28 10:07:51 -0800207 uint64_t flags;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800209 uint64_t user_token;
Ben Cheng655a7c02013-10-16 16:09:24 -0700210};
211struct rds_rdma_notify {
Tao Baod7db5942015-01-28 10:07:51 -0800212 uint64_t user_token;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800214 int32_t status;
Ben Cheng655a7c02013-10-16 16:09:24 -0700215};
216#define RDS_RDMA_SUCCESS 0
Ben Cheng655a7c02013-10-16 16:09:24 -0700217#define RDS_RDMA_REMOTE_ERROR 1
Christopher Ferris05d08e92016-02-04 13:16:38 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700219#define RDS_RDMA_CANCELED 2
220#define RDS_RDMA_DROPPED 3
221#define RDS_RDMA_OTHER_ERROR 4
Ben Cheng655a7c02013-10-16 16:09:24 -0700222#define RDS_RDMA_READWRITE 0x0001
Christopher Ferris05d08e92016-02-04 13:16:38 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700224#define RDS_RDMA_FENCE 0x0002
225#define RDS_RDMA_INVALIDATE 0x0004
226#define RDS_RDMA_USE_ONCE 0x0008
Ben Cheng655a7c02013-10-16 16:09:24 -0700227#define RDS_RDMA_DONTWAIT 0x0010
Christopher Ferris05d08e92016-02-04 13:16:38 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700229#define RDS_RDMA_NOTIFY_ME 0x0020
230#define RDS_RDMA_SILENT 0x0040
231#endif