rdma.h revision cadbfdc3bdb156e92d7a88978bc98ea87f6e037f
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
*/
#ifndef _RDSV3_RDMA_H
#define _RDSV3_RDMA_H
struct rdsv3_mr {
/* for AVL tree */
/* A copy of the creation flags */
unsigned int r_use_once:1;
unsigned int r_invalidate:1;
unsigned int r_write:1;
/*
* This is for RDS_MR_DEAD.
* It would be nice & consistent to make this part of the above
* bit field here, but we need to use test_and_set_bit.
*/
unsigned long r_state;
/* back pointer to the socket that owns us */
struct rdsv3_sock *r_sock;
struct rdsv3_transport *r_trans;
void *r_trans_private;
};
/* Flags for mr->r_state */
#define RDSV3_MR_DEAD 0
struct rdsv3_rdma_sg {
struct rdsv3_iovec iovec;
};
struct rdsv3_rdma_op {
unsigned int r_write:1;
unsigned int r_fence:1;
unsigned int r_notify:1;
unsigned int r_recverr:1;
unsigned int r_mapped:1;
struct rdsv3_notifier *r_notifier;
unsigned int r_bytes;
unsigned int r_nents;
unsigned int r_count;
struct rdsv3_scatterlist *r_sg;
};
static inline rdsv3_rdma_cookie_t
{
}
static inline uint32_t
{
}
static inline uint32_t
{
return (cookie >> 32);
}
int optlen);
{
}
#endif /* _RDSV3_RDMA_H */