1*cda5da8dSAndroid Build Coastguard Worker /* 2*cda5da8dSAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*cda5da8dSAndroid Build Coastguard Worker * 4*cda5da8dSAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*cda5da8dSAndroid Build Coastguard Worker * for more information. 6*cda5da8dSAndroid Build Coastguard Worker */ 7*cda5da8dSAndroid Build Coastguard Worker #ifndef _LINUX_RDS_H 8*cda5da8dSAndroid Build Coastguard Worker #define _LINUX_RDS_H 9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h> 10*cda5da8dSAndroid Build Coastguard Worker #include <linux/socket.h> 11*cda5da8dSAndroid Build Coastguard Worker #include <linux/in6.h> 12*cda5da8dSAndroid Build Coastguard Worker #define RDS_IB_ABI_VERSION 0x301 13*cda5da8dSAndroid Build Coastguard Worker #define SOL_RDS 276 14*cda5da8dSAndroid Build Coastguard Worker #define RDS_CANCEL_SENT_TO 1 15*cda5da8dSAndroid Build Coastguard Worker #define RDS_GET_MR 2 16*cda5da8dSAndroid Build Coastguard Worker #define RDS_FREE_MR 3 17*cda5da8dSAndroid Build Coastguard Worker #define RDS_RECVERR 5 18*cda5da8dSAndroid Build Coastguard Worker #define RDS_CONG_MONITOR 6 19*cda5da8dSAndroid Build Coastguard Worker #define RDS_GET_MR_FOR_DEST 7 20*cda5da8dSAndroid Build Coastguard Worker #define SO_RDS_TRANSPORT 8 21*cda5da8dSAndroid Build Coastguard Worker #define SO_RDS_MSG_RXPATH_LATENCY 10 22*cda5da8dSAndroid Build Coastguard Worker #define RDS_TRANS_IB 0 23*cda5da8dSAndroid Build Coastguard Worker #define RDS_TRANS_GAP 1 24*cda5da8dSAndroid Build Coastguard Worker #define RDS_TRANS_TCP 2 25*cda5da8dSAndroid Build Coastguard Worker #define RDS_TRANS_COUNT 3 26*cda5da8dSAndroid Build Coastguard Worker #define RDS_TRANS_NONE (~0) 27*cda5da8dSAndroid Build Coastguard Worker #define RDS_TRANS_IWARP RDS_TRANS_GAP 28*cda5da8dSAndroid Build Coastguard Worker #define SIOCRDSSETTOS (SIOCPROTOPRIVATE) 29*cda5da8dSAndroid Build Coastguard Worker #define SIOCRDSGETTOS (SIOCPROTOPRIVATE + 1) 30*cda5da8dSAndroid Build Coastguard Worker typedef __u8 rds_tos_t; 31*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_RDMA_ARGS 1 32*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_RDMA_DEST 2 33*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_RDMA_MAP 3 34*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_RDMA_STATUS 4 35*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_CONG_UPDATE 5 36*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_ATOMIC_FADD 6 37*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_ATOMIC_CSWP 7 38*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_MASKED_ATOMIC_FADD 8 39*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_MASKED_ATOMIC_CSWP 9 40*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_RXPATH_LATENCY 11 41*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_ZCOPY_COOKIE 12 42*cda5da8dSAndroid Build Coastguard Worker #define RDS_CMSG_ZCOPY_COMPLETION 13 43*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_FIRST 10000 44*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_COUNTERS 10000 45*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_CONNECTIONS 10001 46*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_SEND_MESSAGES 10003 47*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_RETRANS_MESSAGES 10004 48*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_RECV_MESSAGES 10005 49*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_SOCKETS 10006 50*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_TCP_SOCKETS 10007 51*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_IB_CONNECTIONS 10008 52*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_CONNECTION_STATS 10009 53*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_IWARP_CONNECTIONS 10010 54*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_CONNECTIONS 10011 55*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_SEND_MESSAGES 10012 56*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_RETRANS_MESSAGES 10013 57*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_RECV_MESSAGES 10014 58*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_SOCKETS 10015 59*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_TCP_SOCKETS 10016 60*cda5da8dSAndroid Build Coastguard Worker #define RDS6_INFO_IB_CONNECTIONS 10017 61*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_LAST 10017 62*cda5da8dSAndroid Build Coastguard Worker struct rds_info_counter { 63*cda5da8dSAndroid Build Coastguard Worker __u8 name[32]; 64*cda5da8dSAndroid Build Coastguard Worker __u64 value; 65*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 66*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_CONNECTION_FLAG_SENDING 0x01 67*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_CONNECTION_FLAG_CONNECTING 0x02 68*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_CONNECTION_FLAG_CONNECTED 0x04 69*cda5da8dSAndroid Build Coastguard Worker #define TRANSNAMSIZ 16 70*cda5da8dSAndroid Build Coastguard Worker struct rds_info_connection { 71*cda5da8dSAndroid Build Coastguard Worker __u64 next_tx_seq; 72*cda5da8dSAndroid Build Coastguard Worker __u64 next_rx_seq; 73*cda5da8dSAndroid Build Coastguard Worker __be32 laddr; 74*cda5da8dSAndroid Build Coastguard Worker __be32 faddr; 75*cda5da8dSAndroid Build Coastguard Worker __u8 transport[TRANSNAMSIZ]; 76*cda5da8dSAndroid Build Coastguard Worker __u8 flags; 77*cda5da8dSAndroid Build Coastguard Worker __u8 tos; 78*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 79*cda5da8dSAndroid Build Coastguard Worker struct rds6_info_connection { 80*cda5da8dSAndroid Build Coastguard Worker __u64 next_tx_seq; 81*cda5da8dSAndroid Build Coastguard Worker __u64 next_rx_seq; 82*cda5da8dSAndroid Build Coastguard Worker struct in6_addr laddr; 83*cda5da8dSAndroid Build Coastguard Worker struct in6_addr faddr; 84*cda5da8dSAndroid Build Coastguard Worker __u8 transport[TRANSNAMSIZ]; 85*cda5da8dSAndroid Build Coastguard Worker __u8 flags; 86*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 87*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_MESSAGE_FLAG_ACK 0x01 88*cda5da8dSAndroid Build Coastguard Worker #define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 89*cda5da8dSAndroid Build Coastguard Worker struct rds_info_message { 90*cda5da8dSAndroid Build Coastguard Worker __u64 seq; 91*cda5da8dSAndroid Build Coastguard Worker __u32 len; 92*cda5da8dSAndroid Build Coastguard Worker __be32 laddr; 93*cda5da8dSAndroid Build Coastguard Worker __be32 faddr; 94*cda5da8dSAndroid Build Coastguard Worker __be16 lport; 95*cda5da8dSAndroid Build Coastguard Worker __be16 fport; 96*cda5da8dSAndroid Build Coastguard Worker __u8 flags; 97*cda5da8dSAndroid Build Coastguard Worker __u8 tos; 98*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 99*cda5da8dSAndroid Build Coastguard Worker struct rds6_info_message { 100*cda5da8dSAndroid Build Coastguard Worker __u64 seq; 101*cda5da8dSAndroid Build Coastguard Worker __u32 len; 102*cda5da8dSAndroid Build Coastguard Worker struct in6_addr laddr; 103*cda5da8dSAndroid Build Coastguard Worker struct in6_addr faddr; 104*cda5da8dSAndroid Build Coastguard Worker __be16 lport; 105*cda5da8dSAndroid Build Coastguard Worker __be16 fport; 106*cda5da8dSAndroid Build Coastguard Worker __u8 flags; 107*cda5da8dSAndroid Build Coastguard Worker __u8 tos; 108*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 109*cda5da8dSAndroid Build Coastguard Worker struct rds_info_socket { 110*cda5da8dSAndroid Build Coastguard Worker __u32 sndbuf; 111*cda5da8dSAndroid Build Coastguard Worker __be32 bound_addr; 112*cda5da8dSAndroid Build Coastguard Worker __be32 connected_addr; 113*cda5da8dSAndroid Build Coastguard Worker __be16 bound_port; 114*cda5da8dSAndroid Build Coastguard Worker __be16 connected_port; 115*cda5da8dSAndroid Build Coastguard Worker __u32 rcvbuf; 116*cda5da8dSAndroid Build Coastguard Worker __u64 inum; 117*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 118*cda5da8dSAndroid Build Coastguard Worker struct rds6_info_socket { 119*cda5da8dSAndroid Build Coastguard Worker __u32 sndbuf; 120*cda5da8dSAndroid Build Coastguard Worker struct in6_addr bound_addr; 121*cda5da8dSAndroid Build Coastguard Worker struct in6_addr connected_addr; 122*cda5da8dSAndroid Build Coastguard Worker __be16 bound_port; 123*cda5da8dSAndroid Build Coastguard Worker __be16 connected_port; 124*cda5da8dSAndroid Build Coastguard Worker __u32 rcvbuf; 125*cda5da8dSAndroid Build Coastguard Worker __u64 inum; 126*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 127*cda5da8dSAndroid Build Coastguard Worker struct rds_info_tcp_socket { 128*cda5da8dSAndroid Build Coastguard Worker __be32 local_addr; 129*cda5da8dSAndroid Build Coastguard Worker __be16 local_port; 130*cda5da8dSAndroid Build Coastguard Worker __be32 peer_addr; 131*cda5da8dSAndroid Build Coastguard Worker __be16 peer_port; 132*cda5da8dSAndroid Build Coastguard Worker __u64 hdr_rem; 133*cda5da8dSAndroid Build Coastguard Worker __u64 data_rem; 134*cda5da8dSAndroid Build Coastguard Worker __u32 last_sent_nxt; 135*cda5da8dSAndroid Build Coastguard Worker __u32 last_expected_una; 136*cda5da8dSAndroid Build Coastguard Worker __u32 last_seen_una; 137*cda5da8dSAndroid Build Coastguard Worker __u8 tos; 138*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 139*cda5da8dSAndroid Build Coastguard Worker struct rds6_info_tcp_socket { 140*cda5da8dSAndroid Build Coastguard Worker struct in6_addr local_addr; 141*cda5da8dSAndroid Build Coastguard Worker __be16 local_port; 142*cda5da8dSAndroid Build Coastguard Worker struct in6_addr peer_addr; 143*cda5da8dSAndroid Build Coastguard Worker __be16 peer_port; 144*cda5da8dSAndroid Build Coastguard Worker __u64 hdr_rem; 145*cda5da8dSAndroid Build Coastguard Worker __u64 data_rem; 146*cda5da8dSAndroid Build Coastguard Worker __u32 last_sent_nxt; 147*cda5da8dSAndroid Build Coastguard Worker __u32 last_expected_una; 148*cda5da8dSAndroid Build Coastguard Worker __u32 last_seen_una; 149*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed)); 150*cda5da8dSAndroid Build Coastguard Worker #define RDS_IB_GID_LEN 16 151*cda5da8dSAndroid Build Coastguard Worker struct rds_info_rdma_connection { 152*cda5da8dSAndroid Build Coastguard Worker __be32 src_addr; 153*cda5da8dSAndroid Build Coastguard Worker __be32 dst_addr; 154*cda5da8dSAndroid Build Coastguard Worker __u8 src_gid[RDS_IB_GID_LEN]; 155*cda5da8dSAndroid Build Coastguard Worker __u8 dst_gid[RDS_IB_GID_LEN]; 156*cda5da8dSAndroid Build Coastguard Worker __u32 max_send_wr; 157*cda5da8dSAndroid Build Coastguard Worker __u32 max_recv_wr; 158*cda5da8dSAndroid Build Coastguard Worker __u32 max_send_sge; 159*cda5da8dSAndroid Build Coastguard Worker __u32 rdma_mr_max; 160*cda5da8dSAndroid Build Coastguard Worker __u32 rdma_mr_size; 161*cda5da8dSAndroid Build Coastguard Worker __u8 tos; 162*cda5da8dSAndroid Build Coastguard Worker __u8 sl; 163*cda5da8dSAndroid Build Coastguard Worker __u32 cache_allocs; 164*cda5da8dSAndroid Build Coastguard Worker }; 165*cda5da8dSAndroid Build Coastguard Worker struct rds6_info_rdma_connection { 166*cda5da8dSAndroid Build Coastguard Worker struct in6_addr src_addr; 167*cda5da8dSAndroid Build Coastguard Worker struct in6_addr dst_addr; 168*cda5da8dSAndroid Build Coastguard Worker __u8 src_gid[RDS_IB_GID_LEN]; 169*cda5da8dSAndroid Build Coastguard Worker __u8 dst_gid[RDS_IB_GID_LEN]; 170*cda5da8dSAndroid Build Coastguard Worker __u32 max_send_wr; 171*cda5da8dSAndroid Build Coastguard Worker __u32 max_recv_wr; 172*cda5da8dSAndroid Build Coastguard Worker __u32 max_send_sge; 173*cda5da8dSAndroid Build Coastguard Worker __u32 rdma_mr_max; 174*cda5da8dSAndroid Build Coastguard Worker __u32 rdma_mr_size; 175*cda5da8dSAndroid Build Coastguard Worker __u8 tos; 176*cda5da8dSAndroid Build Coastguard Worker __u8 sl; 177*cda5da8dSAndroid Build Coastguard Worker __u32 cache_allocs; 178*cda5da8dSAndroid Build Coastguard Worker }; 179*cda5da8dSAndroid Build Coastguard Worker enum rds_message_rxpath_latency { 180*cda5da8dSAndroid Build Coastguard Worker RDS_MSG_RX_HDR_TO_DGRAM_START = 0, 181*cda5da8dSAndroid Build Coastguard Worker RDS_MSG_RX_DGRAM_REASSEMBLE, 182*cda5da8dSAndroid Build Coastguard Worker RDS_MSG_RX_DGRAM_DELIVERED, 183*cda5da8dSAndroid Build Coastguard Worker RDS_MSG_RX_DGRAM_TRACE_MAX 184*cda5da8dSAndroid Build Coastguard Worker }; 185*cda5da8dSAndroid Build Coastguard Worker struct rds_rx_trace_so { 186*cda5da8dSAndroid Build Coastguard Worker __u8 rx_traces; 187*cda5da8dSAndroid Build Coastguard Worker __u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX]; 188*cda5da8dSAndroid Build Coastguard Worker }; 189*cda5da8dSAndroid Build Coastguard Worker struct rds_cmsg_rx_trace { 190*cda5da8dSAndroid Build Coastguard Worker __u8 rx_traces; 191*cda5da8dSAndroid Build Coastguard Worker __u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX]; 192*cda5da8dSAndroid Build Coastguard Worker __u64 rx_trace[RDS_MSG_RX_DGRAM_TRACE_MAX]; 193*cda5da8dSAndroid Build Coastguard Worker }; 194*cda5da8dSAndroid Build Coastguard Worker #define RDS_CONG_MONITOR_SIZE 64 195*cda5da8dSAndroid Build Coastguard Worker #define RDS_CONG_MONITOR_BIT(port) (((unsigned int) port) % RDS_CONG_MONITOR_SIZE) 196*cda5da8dSAndroid Build Coastguard Worker #define RDS_CONG_MONITOR_MASK(port) (1ULL << RDS_CONG_MONITOR_BIT(port)) 197*cda5da8dSAndroid Build Coastguard Worker typedef __u64 rds_rdma_cookie_t; 198*cda5da8dSAndroid Build Coastguard Worker struct rds_iovec { 199*cda5da8dSAndroid Build Coastguard Worker __u64 addr; 200*cda5da8dSAndroid Build Coastguard Worker __u64 bytes; 201*cda5da8dSAndroid Build Coastguard Worker }; 202*cda5da8dSAndroid Build Coastguard Worker struct rds_get_mr_args { 203*cda5da8dSAndroid Build Coastguard Worker struct rds_iovec vec; 204*cda5da8dSAndroid Build Coastguard Worker __u64 cookie_addr; 205*cda5da8dSAndroid Build Coastguard Worker __u64 flags; 206*cda5da8dSAndroid Build Coastguard Worker }; 207*cda5da8dSAndroid Build Coastguard Worker struct rds_get_mr_for_dest_args { 208*cda5da8dSAndroid Build Coastguard Worker struct sockaddr_storage dest_addr; 209*cda5da8dSAndroid Build Coastguard Worker struct rds_iovec vec; 210*cda5da8dSAndroid Build Coastguard Worker __u64 cookie_addr; 211*cda5da8dSAndroid Build Coastguard Worker __u64 flags; 212*cda5da8dSAndroid Build Coastguard Worker }; 213*cda5da8dSAndroid Build Coastguard Worker struct rds_free_mr_args { 214*cda5da8dSAndroid Build Coastguard Worker rds_rdma_cookie_t cookie; 215*cda5da8dSAndroid Build Coastguard Worker __u64 flags; 216*cda5da8dSAndroid Build Coastguard Worker }; 217*cda5da8dSAndroid Build Coastguard Worker struct rds_rdma_args { 218*cda5da8dSAndroid Build Coastguard Worker rds_rdma_cookie_t cookie; 219*cda5da8dSAndroid Build Coastguard Worker struct rds_iovec remote_vec; 220*cda5da8dSAndroid Build Coastguard Worker __u64 local_vec_addr; 221*cda5da8dSAndroid Build Coastguard Worker __u64 nr_local; 222*cda5da8dSAndroid Build Coastguard Worker __u64 flags; 223*cda5da8dSAndroid Build Coastguard Worker __u64 user_token; 224*cda5da8dSAndroid Build Coastguard Worker }; 225*cda5da8dSAndroid Build Coastguard Worker struct rds_atomic_args { 226*cda5da8dSAndroid Build Coastguard Worker rds_rdma_cookie_t cookie; 227*cda5da8dSAndroid Build Coastguard Worker __u64 local_addr; 228*cda5da8dSAndroid Build Coastguard Worker __u64 remote_addr; 229*cda5da8dSAndroid Build Coastguard Worker union { 230*cda5da8dSAndroid Build Coastguard Worker struct { 231*cda5da8dSAndroid Build Coastguard Worker __u64 compare; 232*cda5da8dSAndroid Build Coastguard Worker __u64 swap; 233*cda5da8dSAndroid Build Coastguard Worker } cswp; 234*cda5da8dSAndroid Build Coastguard Worker struct { 235*cda5da8dSAndroid Build Coastguard Worker __u64 add; 236*cda5da8dSAndroid Build Coastguard Worker } fadd; 237*cda5da8dSAndroid Build Coastguard Worker struct { 238*cda5da8dSAndroid Build Coastguard Worker __u64 compare; 239*cda5da8dSAndroid Build Coastguard Worker __u64 swap; 240*cda5da8dSAndroid Build Coastguard Worker __u64 compare_mask; 241*cda5da8dSAndroid Build Coastguard Worker __u64 swap_mask; 242*cda5da8dSAndroid Build Coastguard Worker } m_cswp; 243*cda5da8dSAndroid Build Coastguard Worker struct { 244*cda5da8dSAndroid Build Coastguard Worker __u64 add; 245*cda5da8dSAndroid Build Coastguard Worker __u64 nocarry_mask; 246*cda5da8dSAndroid Build Coastguard Worker } m_fadd; 247*cda5da8dSAndroid Build Coastguard Worker }; 248*cda5da8dSAndroid Build Coastguard Worker __u64 flags; 249*cda5da8dSAndroid Build Coastguard Worker __u64 user_token; 250*cda5da8dSAndroid Build Coastguard Worker }; 251*cda5da8dSAndroid Build Coastguard Worker struct rds_rdma_notify { 252*cda5da8dSAndroid Build Coastguard Worker __u64 user_token; 253*cda5da8dSAndroid Build Coastguard Worker __s32 status; 254*cda5da8dSAndroid Build Coastguard Worker }; 255*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_SUCCESS 0 256*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_REMOTE_ERROR 1 257*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_CANCELED 2 258*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_DROPPED 3 259*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_OTHER_ERROR 4 260*cda5da8dSAndroid Build Coastguard Worker #define RDS_MAX_ZCOOKIES 8 261*cda5da8dSAndroid Build Coastguard Worker struct rds_zcopy_cookies { 262*cda5da8dSAndroid Build Coastguard Worker __u32 num; 263*cda5da8dSAndroid Build Coastguard Worker __u32 cookies[RDS_MAX_ZCOOKIES]; 264*cda5da8dSAndroid Build Coastguard Worker }; 265*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_READWRITE 0x0001 266*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_FENCE 0x0002 267*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_INVALIDATE 0x0004 268*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_USE_ONCE 0x0008 269*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_DONTWAIT 0x0010 270*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_NOTIFY_ME 0x0020 271*cda5da8dSAndroid Build Coastguard Worker #define RDS_RDMA_SILENT 0x0040 272*cda5da8dSAndroid Build Coastguard Worker #endif 273