int unipro_send(unsigned int cportid, const void *buf, size_t len) { int retval; struct unipro_xfer_descriptor_sync desc; sem_init(&desc.lock, 0, 0); retval = unipro_send_async(cportid, buf, len, unipro_send_cb, &desc); if (retval) { goto out; } sem_wait(&desc.lock); retval = desc.retval; out: sem_destroy(&desc.lock); return retval; }
static int unipro_usb_to_unipro(unsigned int cportid, void *buf, size_t len, unipro_send_completion_t callback, void *priv) { return unipro_send_async(cportid, buf, len, callback, priv); }