Lines Matching defs:nc
113 struct nvmf_capsule *nc, *tc;
115 TAILQ_FOREACH_SAFE(nc, &qp->nq_rx_capsules, nc_link, tc) {
116 TAILQ_REMOVE(&qp->nq_rx_capsules, nc, nc_link);
117 nvmf_free_capsule(nc);
127 struct nvmf_capsule *nc;
129 nc = qp->nq_association->na_ops->allocate_capsule(qp);
130 if (nc == NULL)
133 nc->nc_qpair = qp;
134 nc->nc_qe_len = sizeof(struct nvme_command);
135 memcpy(&nc->nc_sqe, sqe, nc->nc_qe_len);
138 nc->nc_sqe.fuse &= ~NVMEM(NVME_CMD_PSDT);
139 nc->nc_sqe.fuse |= NVMEF(NVME_CMD_PSDT, NVME_PSDT_SGL);
140 return (nc);
146 struct nvmf_capsule *nc;
148 nc = qp->nq_association->na_ops->allocate_capsule(qp);
149 if (nc == NULL)
152 nc->nc_qpair = qp;
153 nc->nc_qe_len = sizeof(struct nvme_completion);
154 memcpy(&nc->nc_cqe, cqe, nc->nc_qe_len);
155 return (nc);
159 nvmf_capsule_append_data(struct nvmf_capsule *nc, void *buf, size_t len,
162 if (nc->nc_qe_len == sizeof(struct nvme_completion))
164 if (nc->nc_data_len != 0)
167 nc->nc_data = buf;
168 nc->nc_data_len = len;
169 nc->nc_send_data = send;
174 nvmf_free_capsule(struct nvmf_capsule *nc)
176 nc->nc_qpair->nq_association->na_ops->free_capsule(nc);
180 nvmf_transmit_capsule(struct nvmf_capsule *nc)
182 return (nc->nc_qpair->nq_association->na_ops->transmit_capsule(nc));
192 nvmf_capsule_sqe(const struct nvmf_capsule *nc)
194 assert(nc->nc_qe_len == sizeof(struct nvme_command));
195 return (&nc->nc_sqe);
199 nvmf_capsule_cqe(const struct nvmf_capsule *nc)
201 assert(nc->nc_qe_len == sizeof(struct nvme_completion));
202 return (&nc->nc_cqe);
206 nvmf_validate_command_capsule(const struct nvmf_capsule *nc)
208 assert(nc->nc_qe_len == sizeof(struct nvme_command));
210 if (NVMEV(NVME_CMD_PSDT, nc->nc_sqe.fuse) != NVME_PSDT_SGL)
213 return (nc->nc_qpair->nq_association->na_ops->validate_command_capsule(nc));
217 nvmf_capsule_data_len(const struct nvmf_capsule *nc)
219 return (nc->nc_qpair->nq_association->na_ops->capsule_data_len(nc));
223 nvmf_receive_controller_data(const struct nvmf_capsule *nc,
226 return (nc->nc_qpair->nq_association->na_ops->receive_controller_data(nc,
231 nvmf_send_controller_data(const struct nvmf_capsule *nc, const void *buf,
234 return (nc->nc_qpair->nq_association->na_ops->send_controller_data(nc,