uint32_t handle;
};
+enum verbs_srq_mask {
+ IBV_SRQ_TYPE = 1 << 0,
+ IBV_SRQ_XRCD = 1 << 1,
+ IBV_SRQ_CQ = 1 << 2,
+ IBV_SRQ_NUM = 1 << 3,
+ IBV_SRQ_RESERVED = 1 << 4
+};
+
+struct verbs_srq {
+ struct ibv_srq srq;
+ uint32_t comp_mask;
+ enum ibv_srq_type srq_type;
+ struct ibv_xrcd *xrcd;
+ struct ibv_cq *cq;
+ uint32_t srq_num;
+};
+
typedef struct ibv_device *(*ibv_driver_init_func)(const char *uverbs_sys_path,
int abi_version);
int mw_access_flags;
};
-enum ibv_srq_mask {
- IBV_SRQ_TYPE = 1 << 0,
- IBV_SRQ_XRCD = 1 << 1,
- IBV_SRQ_CQ = 1 << 2,
- IBV_SRQ_NUM = 1 << 3,
- IBV_SRQ_RESERVED = 1 << 4
-};
-
struct ibv_srq {
struct ibv_context *context;
void *srq_context;
pthread_mutex_t mutex;
pthread_cond_t cond;
uint32_t events_completed;
-
- uint32_t comp_mask;
- enum ibv_srq_type srq_type;
- struct ibv_xrcd *xrcd;
- struct ibv_cq *cq;
- uint32_t srq_num;
};
struct ibv_qp {