#ifndef RXE_VERBS_H
#define RXE_VERBS_H
#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include "rxe_pool.h"
#include "rxe_task.h"
#include "rxe_hw_counters.h"
static inline int pkey_match(u16 key1, u16 key2)
{ … }
static inline int psn_compare(u32 psn_a, u32 psn_b)
{ … }
struct rxe_ucontext { … };
struct rxe_pd { … };
struct rxe_ah { … };
struct rxe_cqe { … };
struct rxe_cq { … };
enum wqe_state { … };
struct rxe_sq { … };
struct rxe_rq { … };
struct rxe_srq { … };
struct rxe_req_info { … };
struct rxe_comp_info { … };
enum rdatm_res_state { … };
struct resp_res { … };
struct rxe_resp_info { … };
struct rxe_qp { … };
enum { … };
enum rxe_mr_state { … };
enum rxe_mr_copy_dir { … };
enum rxe_mr_lookup_type { … };
enum rxe_rereg { … };
static inline int rkey_is_mw(u32 rkey)
{ … }
struct rxe_mr { … };
static inline unsigned int mr_page_size(struct rxe_mr *mr)
{ … }
enum rxe_mw_state { … };
struct rxe_mw { … };
struct rxe_mcg { … };
struct rxe_mca { … };
struct rxe_port { … };
struct rxe_dev { … };
static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters index)
{ … }
static inline struct rxe_dev *to_rdev(struct ib_device *dev)
{ … }
static inline struct rxe_ucontext *to_ruc(struct ib_ucontext *uc)
{ … }
static inline struct rxe_pd *to_rpd(struct ib_pd *pd)
{ … }
static inline struct rxe_ah *to_rah(struct ib_ah *ah)
{ … }
static inline struct rxe_srq *to_rsrq(struct ib_srq *srq)
{ … }
static inline struct rxe_qp *to_rqp(struct ib_qp *qp)
{ … }
static inline struct rxe_cq *to_rcq(struct ib_cq *cq)
{ … }
static inline struct rxe_mr *to_rmr(struct ib_mr *mr)
{ … }
static inline struct rxe_mw *to_rmw(struct ib_mw *mw)
{ … }
static inline struct rxe_pd *rxe_ah_pd(struct rxe_ah *ah)
{ … }
static inline struct rxe_pd *mr_pd(struct rxe_mr *mr)
{ … }
static inline struct rxe_pd *rxe_mw_pd(struct rxe_mw *mw)
{ … }
int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name);
#endif