Lines Matching refs:cmd

55 	struct ibv_get_context_v2 *cmd;
64 cmd_size = sizeof *cmd + new_cmd_size - sizeof *new_cmd;
65 cmd = alloca(cmd_size);
66 memcpy(cmd->driver_data, new_cmd->driver_data, new_cmd_size - sizeof *new_cmd);
68 IBV_INIT_CMD_RESP(cmd, cmd_size, GET_CONTEXT, resp, resp_size);
69 cmd->cq_fd_tab = (uintptr_t) &cq_fd;
71 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
86 int ibv_cmd_get_context(struct ibv_context *context, struct ibv_get_context *cmd,
91 return ibv_cmd_get_context_v2(context, cmd, cmd_size, resp, resp_size);
93 IBV_INIT_CMD_RESP(cmd, cmd_size, GET_CONTEXT, resp, resp_size);
95 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
109 struct ibv_query_device *cmd, size_t cmd_size)
113 IBV_INIT_CMD_RESP(cmd, cmd_size, QUERY_DEVICE, &resp, sizeof resp);
115 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
167 struct ibv_query_port *cmd, size_t cmd_size)
171 IBV_INIT_CMD_RESP(cmd, cmd_size, QUERY_PORT, &resp, sizeof resp);
172 cmd->port_num = port_num;
173 memset(cmd->reserved, 0, sizeof cmd->reserved);
175 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
205 struct ibv_alloc_pd *cmd, size_t cmd_size,
208 IBV_INIT_CMD_RESP(cmd, cmd_size, ALLOC_PD, resp, resp_size);
210 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
223 struct ibv_dealloc_pd cmd;
225 IBV_INIT_CMD(&cmd, sizeof cmd, DEALLOC_PD);
226 cmd.pd_handle = pd->handle;
228 if (write(pd->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
236 struct ibv_mr *mr, struct ibv_reg_mr *cmd,
241 IBV_INIT_CMD_RESP(cmd, cmd_size, REG_MR, resp, resp_size);
243 cmd->start = (uintptr_t) addr;
244 cmd->length = length;
245 cmd->hca_va = hca_va;
246 cmd->pd_handle = pd->handle;
247 cmd->access_flags = access;
249 if (write(pd->context->cmd_fd, cmd, cmd_size) != cmd_size)
264 struct ibv_dereg_mr cmd;
266 IBV_INIT_CMD(&cmd, sizeof cmd, DEREG_MR);
267 cmd.mr_handle = mr->handle;
269 if (write(mr->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
280 struct ibv_create_cq_v2 *cmd;
283 cmd_size = sizeof *cmd + new_cmd_size - sizeof *new_cmd;
284 cmd = alloca(cmd_size);
285 memcpy(cmd->driver_data, new_cmd->driver_data, new_cmd_size - sizeof *new_cmd);
287 IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_CQ, resp, resp_size);
288 cmd->user_handle = (uintptr_t) cq;
289 cmd->cqe = cqe;
290 cmd->event_handler = 0;
292 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
307 struct ibv_create_cq *cmd, size_t cmd_size,
312 cmd, cmd_size, resp, resp_size);
314 IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_CQ, resp, resp_size);
315 cmd->user_handle = (uintptr_t) cq;
316 cmd->cqe = cqe;
317 cmd->comp_vector = comp_vector;
318 cmd->comp_channel = channel ? channel->fd : -1;
319 cmd->reserved = 0;
321 if (write(context->cmd_fd, cmd, cmd_size) != cmd_size)
335 struct ibv_poll_cq cmd;
346 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, POLL_CQ, resp, rsize);
347 cmd.cq_handle = ibcq->handle;
348 cmd.ne = ne;
350 if (write(ibcq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd) {
382 struct ibv_req_notify_cq cmd;
384 IBV_INIT_CMD(&cmd, sizeof cmd, REQ_NOTIFY_CQ);
385 cmd.cq_handle = ibcq->handle;
386 cmd.solicited = !!solicited_only;
388 if (write(ibcq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
395 struct ibv_resize_cq *cmd, size_t cmd_size,
399 IBV_INIT_CMD_RESP(cmd, cmd_size, RESIZE_CQ, resp, resp_size);
400 cmd->cq_handle = cq->handle;
401 cmd->cqe = cqe;
403 if (write(cq->context->cmd_fd, cmd, cmd_size) != cmd_size)
415 struct ibv_destroy_cq_v1 cmd;
417 IBV_INIT_CMD(&cmd, sizeof cmd, DESTROY_CQ);
418 cmd.cq_handle = cq->handle;
420 if (write(cq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
428 struct ibv_destroy_cq cmd;
434 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, DESTROY_CQ, &resp, sizeof resp);
435 cmd.cq_handle = cq->handle;
436 cmd.reserved = 0;
438 if (write(cq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
454 struct ibv_create_srq *cmd, size_t cmd_size,
457 IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_SRQ, resp, resp_size);
458 cmd->user_handle = (uintptr_t) srq;
459 cmd->pd_handle = pd->handle;
460 cmd->max_wr = attr->attr.max_wr;
461 cmd->max_sge = attr->attr.max_sge;
462 cmd->srq_limit = attr->attr.srq_limit;
464 if (write(pd->context->cmd_fd, cmd, cmd_size) != cmd_size)
490 struct ibv_create_xrc_srq *cmd, size_t cmd_size,
493 IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_XRC_SRQ, resp, resp_size);
494 cmd->user_handle = (uintptr_t) srq;
495 cmd->pd_handle = pd->handle;
496 cmd->max_wr = attr->attr.max_wr;
497 cmd->max_sge = attr->attr.max_sge;
498 cmd->srq_limit = attr->attr.srq_limit;
499 cmd->xrcd_handle = xrcd_handle;
500 cmd->xrc_cq = xrc_cq;
502 if (write(pd->context->cmd_fd, cmd, cmd_size) != cmd_size)
521 struct ibv_modify_srq_v3 *cmd;
524 cmd_size = sizeof *cmd + new_cmd_size - sizeof *new_cmd;
525 cmd = alloca(cmd_size);
526 memcpy(cmd->driver_data, new_cmd->driver_data, new_cmd_size - sizeof *new_cmd);
528 IBV_INIT_CMD(cmd, cmd_size, MODIFY_SRQ);
530 cmd->srq_handle = srq->handle;
531 cmd->attr_mask = srq_attr_mask;
532 cmd->max_wr = srq_attr->max_wr;
533 cmd->srq_limit = srq_attr->srq_limit;
534 cmd->max_sge = 0;
535 cmd->reserved = 0;
537 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size)
546 struct ibv_modify_srq *cmd, size_t cmd_size)
550 cmd, cmd_size);
552 IBV_INIT_CMD(cmd, cmd_size, MODIFY_SRQ);
554 cmd->srq_handle = srq->handle;
555 cmd->attr_mask = srq_attr_mask;
556 cmd->max_wr = srq_attr->max_wr;
557 cmd->srq_limit = srq_attr->srq_limit;
559 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size)
566 struct ibv_query_srq *cmd, size_t cmd_size)
570 IBV_INIT_CMD_RESP(cmd, cmd_size, QUERY_SRQ, &resp, sizeof resp);
571 cmd->srq_handle = srq->handle;
572 cmd->reserved = 0;
574 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size)
588 struct ibv_destroy_srq_v1 cmd;
590 IBV_INIT_CMD(&cmd, sizeof cmd, DESTROY_SRQ);
591 cmd.srq_handle = srq->handle;
593 if (write(srq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
601 struct ibv_destroy_srq cmd;
607 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, DESTROY_SRQ, &resp, sizeof resp);
608 cmd.srq_handle = srq->handle;
609 cmd.reserved = 0;
611 if (write(srq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
626 struct ibv_create_qp *cmd, size_t cmd_size,
629 IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_QP, resp, resp_size);
631 cmd->user_handle = (uintptr_t) qp;
632 cmd->pd_handle = pd->handle;
633 cmd->send_cq_handle = attr->send_cq->handle;
634 cmd->recv_cq_handle = attr->recv_cq->handle;
635 cmd->max_send_wr = attr->cap.max_send_wr;
636 cmd->max_recv_wr = attr->cap.max_recv_wr;
637 cmd->max_send_sge = attr->cap.max_send_sge;
638 cmd->max_recv_sge = attr->cap.max_recv_sge;
639 cmd->max_inline_data = attr->cap.max_inline_data;
640 cmd->sq_sig_all = attr->sq_sig_all;
641 cmd->qp_type = attr->qp_type;
642 cmd->is_srq = !!attr->srq;
643 cmd->srq_handle = attr->qp_type == IBV_QPT_XRC ?
646 cmd->reserved = 0;
648 if (write(pd->context->cmd_fd, cmd, cmd_size) != cmd_size)
687 struct ibv_query_qp *cmd, size_t cmd_size)
691 IBV_INIT_CMD_RESP(cmd, cmd_size, QUERY_QP, &resp, sizeof resp);
692 cmd->qp_handle = qp->handle;
693 cmd->attr_mask = attr_mask;
695 if (write(qp->context->cmd_fd, cmd, cmd_size) != cmd_size)
770 struct ibv_modify_qp *cmd, size_t cmd_size)
772 IBV_INIT_CMD(cmd, cmd_size, MODIFY_QP);
774 cmd->qp_handle = qp->handle;
775 cmd->attr_mask = attr_mask;
776 cmd->qkey = attr->qkey;
777 cmd->rq_psn = attr->rq_psn;
778 cmd->sq_psn = attr->sq_psn;
779 cmd->dest_qp_num = attr->dest_qp_num;
780 cmd->qp_access_flags = attr->qp_access_flags;
781 cmd->pkey_index = attr->pkey_index;
782 cmd->alt_pkey_index = attr->alt_pkey_index;
783 cmd->qp_state = attr->qp_state;
784 cmd->cur_qp_state = attr->cur_qp_state;
785 cmd->path_mtu = attr->path_mtu;
786 cmd->path_mig_state = attr->path_mig_state;
787 cmd->en_sqd_async_notify = attr->en_sqd_async_notify;
788 cmd->max_rd_atomic = attr->max_rd_atomic;
789 cmd->max_dest_rd_atomic = attr->max_dest_rd_atomic;
790 cmd->min_rnr_timer = attr->min_rnr_timer;
791 cmd->port_num = attr->port_num;
792 cmd->timeout = attr->timeout;
793 cmd->retry_cnt = attr->retry_cnt;
794 cmd->rnr_retry = attr->rnr_retry;
795 cmd->alt_port_num = attr->alt_port_num;
796 cmd->alt_timeout = attr->alt_timeout;
798 memcpy(cmd->dest.dgid, attr->ah_attr.grh.dgid.raw, 16);
799 cmd->dest.flow_label = attr->ah_attr.grh.flow_label;
800 cmd->dest.dlid = attr->ah_attr.dlid;
801 cmd->dest.reserved = 0;
802 cmd->dest.sgid_index = attr->ah_attr.grh.sgid_index;
803 cmd->dest.hop_limit = attr->ah_attr.grh.hop_limit;
804 cmd->dest.traffic_class = attr->ah_attr.grh.traffic_class;
805 cmd->dest.sl = attr->ah_attr.sl;
806 cmd->dest.src_path_bits = attr->ah_attr.src_path_bits;
807 cmd->dest.static_rate = attr->ah_attr.static_rate;
808 cmd->dest.is_global = attr->ah_attr.is_global;
809 cmd->dest.port_num = attr->ah_attr.port_num;
811 memcpy(cmd->alt_dest.dgid, attr->alt_ah_attr.grh.dgid.raw, 16);
812 cmd->alt_dest.flow_label = attr->alt_ah_attr.grh.flow_label;
813 cmd->alt_dest.dlid = attr->alt_ah_attr.dlid;
814 cmd->alt_dest.reserved = 0;
815 cmd->alt_dest.sgid_index = attr->alt_ah_attr.grh.sgid_index;
816 cmd->alt_dest.hop_limit = attr->alt_ah_attr.grh.hop_limit;
817 cmd->alt_dest.traffic_class = attr->alt_ah_attr.grh.traffic_class;
818 cmd->alt_dest.sl = attr->alt_ah_attr.sl;
819 cmd->alt_dest.src_path_bits = attr->alt_ah_attr.src_path_bits;
820 cmd->alt_dest.static_rate = attr->alt_ah_attr.static_rate;
821 cmd->alt_dest.is_global = attr->alt_ah_attr.is_global;
822 cmd->alt_dest.port_num = attr->alt_ah_attr.port_num;
824 cmd->reserved[0] = cmd->reserved[1] = 0;
826 if (write(qp->context->cmd_fd, cmd, cmd_size) != cmd_size)
835 struct ibv_create_xrc_rcv_qp cmd;
841 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, CREATE_XRC_RCV_QP, &resp,
844 cmd.xrc_domain_handle = init_attr->xrc_domain->handle;
845 cmd.max_send_wr = init_attr->cap.max_send_wr;
846 cmd.max_recv_wr = init_attr->cap.max_recv_wr;
847 cmd.max_send_sge = init_attr->cap.max_send_sge;
848 cmd.max_recv_sge = init_attr->cap.max_recv_sge;
849 cmd.max_inline_data = init_attr->cap.max_inline_data;
850 cmd.sq_sig_all = init_attr->sq_sig_all;
851 cmd.qp_type = init_attr->qp_type;
852 cmd.reserved[0] = cmd.reserved[1] = 0;
854 if (write(init_attr->xrc_domain->context->cmd_fd, &cmd, sizeof cmd) !=
855 sizeof cmd)
866 struct ibv_modify_xrc_rcv_qp cmd;
871 IBV_INIT_CMD(&cmd, sizeof cmd, MODIFY_XRC_RCV_QP);
873 cmd.xrc_domain_handle = d->handle;
874 cmd.qp_num = xrc_qp_num;
875 cmd.attr_mask = attr_mask;
876 cmd.qkey = attr->qkey;
877 cmd.rq_psn = attr->rq_psn;
878 cmd.sq_psn = attr->sq_psn;
879 cmd.dest_qp_num = attr->dest_qp_num;
880 cmd.qp_access_flags = attr->qp_access_flags;
881 cmd.pkey_index = attr->pkey_index;
882 cmd.alt_pkey_index = attr->alt_pkey_index;
883 cmd.qp_state = attr->qp_state;
884 cmd.cur_qp_state = attr->cur_qp_state;
885 cmd.path_mtu = attr->path_mtu;
886 cmd.path_mig_state = attr->path_mig_state;
887 cmd.en_sqd_async_notify = attr->en_sqd_async_notify;
888 cmd.max_rd_atomic = attr->max_rd_atomic;
889 cmd.max_dest_rd_atomic = attr->max_dest_rd_atomic;
890 cmd.min_rnr_timer = attr->min_rnr_timer;
891 cmd.port_num = attr->port_num;
892 cmd.timeout = attr->timeout;
893 cmd.retry_cnt = attr->retry_cnt;
894 cmd.rnr_retry = attr->rnr_retry;
895 cmd.alt_port_num = attr->alt_port_num;
896 cmd.alt_timeout = attr->alt_timeout;
898 memcpy(cmd.dest.dgid, attr->ah_attr.grh.dgid.raw, 16);
899 cmd.dest.flow_label = attr->ah_attr.grh.flow_label;
900 cmd.dest.dlid = attr->ah_attr.dlid;
901 cmd.dest.reserved = 0;
902 cmd.dest.sgid_index = attr->ah_attr.grh.sgid_index;
903 cmd.dest.hop_limit = attr->ah_attr.grh.hop_limit;
904 cmd.dest.traffic_class = attr->ah_attr.grh.traffic_class;
905 cmd.dest.sl = attr->ah_attr.sl;
906 cmd.dest.src_path_bits = attr->ah_attr.src_path_bits;
907 cmd.dest.static_rate = attr->ah_attr.static_rate;
908 cmd.dest.is_global = attr->ah_attr.is_global;
909 cmd.dest.port_num = attr->ah_attr.port_num;
911 memcpy(cmd.alt_dest.dgid, attr->alt_ah_attr.grh.dgid.raw, 16);
912 cmd.alt_dest.flow_label = attr->alt_ah_attr.grh.flow_label;
913 cmd.alt_dest.dlid = attr->alt_ah_attr.dlid;
914 cmd.alt_dest.reserved = 0;
915 cmd.alt_dest.sgid_index = attr->alt_ah_attr.grh.sgid_index;
916 cmd.alt_dest.hop_limit = attr->alt_ah_attr.grh.hop_limit;
917 cmd.alt_dest.traffic_class = attr->alt_ah_attr.grh.traffic_class;
918 cmd.alt_dest.sl = attr->alt_ah_attr.sl;
919 cmd.alt_dest.src_path_bits = attr->alt_ah_attr.src_path_bits;
920 cmd.alt_dest.static_rate = attr->alt_ah_attr.static_rate;
921 cmd.alt_dest.is_global = attr->alt_ah_attr.is_global;
922 cmd.alt_dest.port_num = attr->alt_ah_attr.port_num;
924 cmd.reserved[0] = cmd.reserved[1] = 0;
926 if (write(d->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
936 struct ibv_query_xrc_rcv_qp cmd;
942 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, QUERY_XRC_RCV_QP, &resp,
944 cmd.xrc_domain_handle = d->handle;
945 cmd.qp_num = xrc_qp_num;
946 cmd.attr_mask = attr_mask;
948 if (write(d->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1016 struct ibv_destroy_qp_v1 cmd;
1018 IBV_INIT_CMD(&cmd, sizeof cmd, DESTROY_QP);
1019 cmd.qp_handle = qp->handle;
1021 if (write(qp->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1030 struct ibv_post_send *cmd;
1045 cmd_size = sizeof *cmd + wr_count * sizeof *n + sge_count * sizeof *s;
1046 cmd = alloca(cmd_size);
1048 IBV_INIT_CMD_RESP(cmd, cmd_size, POST_SEND, &resp, sizeof resp);
1049 cmd->qp_handle = ibqp->handle;
1050 cmd->wr_count = wr_count;
1051 cmd->sge_count = sge_count;
1052 cmd->wqe_size = sizeof *n;
1054 n = (struct ibv_kern_send_wr *) ((void *) cmd + sizeof *cmd);
1100 if (write(ibqp->context->cmd_fd, cmd, cmd_size) != cmd_size)
1120 struct ibv_post_recv *cmd;
1135 cmd_size = sizeof *cmd + wr_count * sizeof *n + sge_count * sizeof *s;
1136 cmd = alloca(cmd_size);
1138 IBV_INIT_CMD_RESP(cmd, cmd_size, POST_RECV, &resp, sizeof resp);
1139 cmd->qp_handle = ibqp->handle;
1140 cmd->wr_count = wr_count;
1141 cmd->sge_count = sge_count;
1142 cmd->wqe_size = sizeof *n;
1144 n = (struct ibv_kern_recv_wr *) ((void *) cmd + sizeof *cmd);
1161 if (write(ibqp->context->cmd_fd, cmd, cmd_size) != cmd_size)
1181 struct ibv_post_srq_recv *cmd;
1196 cmd_size = sizeof *cmd + wr_count * sizeof *n + sge_count * sizeof *s;
1197 cmd = alloca(cmd_size);
1199 IBV_INIT_CMD_RESP(cmd, cmd_size, POST_SRQ_RECV, &resp, sizeof resp);
1200 cmd->srq_handle = srq->handle;
1201 cmd->wr_count = wr_count;
1202 cmd->sge_count = sge_count;
1203 cmd->wqe_size = sizeof *n;
1205 n = (struct ibv_kern_recv_wr *) ((void *) cmd + sizeof *cmd);
1222 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size)
1242 struct ibv_create_ah cmd;
1245 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, CREATE_AH, &resp, sizeof resp);
1246 cmd.user_handle = (uintptr_t) ah;
1247 cmd.pd_handle = pd->handle;
1248 cmd.attr.dlid = attr->dlid;
1249 cmd.attr.sl = attr->sl;
1250 cmd.attr.src_path_bits = attr->src_path_bits;
1251 cmd.attr.static_rate = attr->static_rate;
1252 cmd.attr.is_global = attr->is_global;
1253 cmd.attr.port_num = attr->port_num;
1254 cmd.attr.grh.flow_label = attr->grh.flow_label;
1255 cmd.attr.grh.sgid_index = attr->grh.sgid_index;
1256 cmd.attr.grh.hop_limit = attr->grh.hop_limit;
1257 cmd.attr.grh.traffic_class = attr->grh.traffic_class;
1258 memcpy(cmd.attr.grh.dgid, attr->grh.dgid.raw, 16);
1260 if (write(pd->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1273 struct ibv_destroy_ah cmd;
1275 IBV_INIT_CMD(&cmd, sizeof cmd, DESTROY_AH);
1276 cmd.ah_handle = ah->handle;
1278 if (write(ah->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1286 struct ibv_destroy_qp cmd;
1292 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, DESTROY_QP, &resp, sizeof resp);
1293 cmd.qp_handle = qp->handle;
1294 cmd.reserved = 0;
1296 if (write(qp->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1311 struct ibv_attach_mcast cmd;
1313 IBV_INIT_CMD(&cmd, sizeof cmd, ATTACH_MCAST);
1314 memcpy(cmd.gid, gid->raw, sizeof cmd.gid);
1315 cmd.qp_handle = qp->handle;
1316 cmd.mlid = lid;
1317 cmd.reserved = 0;
1319 if (write(qp->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1327 struct ibv_detach_mcast cmd;
1329 IBV_INIT_CMD(&cmd, sizeof cmd, DETACH_MCAST);
1330 memcpy(cmd.gid, gid->raw, sizeof cmd.gid);
1331 cmd.qp_handle = qp->handle;
1332 cmd.mlid = lid;
1333 cmd.reserved = 0;
1335 if (write(qp->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1346 struct ibv_open_xrc_domain cmd;
1351 IBV_INIT_CMD_RESP(&cmd, sizeof cmd, OPEN_XRC_DOMAIN, resp, resp_size);
1352 cmd.fd = fd;
1353 cmd.oflags = oflag;
1355 if (write(context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1365 struct ibv_close_xrc_domain cmd;
1370 IBV_INIT_CMD(&cmd, sizeof cmd, CLOSE_XRC_DOMAIN);
1371 cmd.xrcd_handle = d->handle;
1373 if (write(d->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1380 struct ibv_reg_xrc_rcv_qp cmd;
1385 IBV_INIT_CMD(&cmd, sizeof cmd, REG_XRC_RCV_QP);
1386 cmd.xrc_domain_handle = d->handle;
1387 cmd.qp_num = xrc_qp_num;
1389 if (write(d->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)
1396 struct ibv_unreg_xrc_rcv_qp cmd;
1401 IBV_INIT_CMD(&cmd, sizeof cmd, UNREG_XRC_RCV_QP);
1402 cmd.xrc_domain_handle = d->handle;
1403 cmd.qp_num = xrc_qp_num;
1405 if (write(d->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd)