ssize_t usdf_dgram_tx_size_left(struct fid_ep *fep) { struct usdf_ep *ep; USDF_DBG_SYS(EP_DATA, "\n"); if (fep == NULL) return -FI_EINVAL; ep = ep_ftou(fep); if (ep->e.dg.ep_qp == NULL) return -FI_EOPBADSTATE; /* EP not enabled */ /* see NOTE-SIZE-LEFT */ return usd_get_send_credits(ep->e.dg.ep_qp) / (USDF_DGRAM_DFLT_SGE + 1); }
ssize_t usdf_dgram_tx_size_left(struct fid_ep *fep) { struct usdf_ep *ep; USDF_DBG_SYS(EP_DATA, "\n"); if (fep == NULL) return -FI_EINVAL; ep = ep_ftou(fep); if (ep->e.dg.ep_qp == NULL) return -FI_EOPBADSTATE; /* EP not enabled */ return usd_get_send_credits(ep->e.dg.ep_qp) / (ep->e.dg.tx_iov_limit + 1); }
ssize_t usdf_dgram_prefix_tx_size_left(struct fid_ep *fep) { struct usdf_ep *ep; USDF_DBG_SYS(EP_DATA, "\n"); if (fep == NULL) return -FI_EINVAL; ep = ep_ftou(fep); if (ep->e.dg.ep_qp == NULL) return -FI_EOPBADSTATE; /* EP not enabled */ /* prefix_sendvcan post up to iov_limit descriptors */ return (usd_get_send_credits(ep->e.dg.ep_qp) / ep->e.dg.tx_iov_limit); }