summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2007-12-12 23:32:54 +0000
committerDaniel Drake <dsd@gentoo.org>2007-12-12 23:32:54 +0000
commitdfac6756faad76071a92945e3e3a16b8a841a7ea (patch)
tree5211c64096f0cdb3fa584f64f93d3731ebba8f26 /examples
parenta8d2881eb7c273892acf2ff6e1f3f552631d1d11 (diff)
downloadlibusb-dfac6756faad76071a92945e3e3a16b8a841a7ea.tar.gz
Don't pass ctrl_msg/bulk_msg structures through async paths
These are easiest to construct on the stack, but in the async case it is likely that the submitting function returns (hence stack is destroyed) before URB completion.
Diffstat (limited to 'examples')
-rw-r--r--examples/dpfp.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/examples/dpfp.c b/examples/dpfp.c
index bc883c6..fe1445c 100644
--- a/examples/dpfp.c
+++ b/examples/dpfp.c
@@ -205,8 +205,8 @@ static int set_mode(unsigned char data)
}
static void cb_mode_changed(struct fpusb_dev_handle *_devh,
- struct fpusb_urb_handle *urbh, struct fpusb_ctrl_msg *msg,
- enum fp_urb_cb_status status, unsigned char *data, int actual_length,
+ struct fpusb_urb_handle *urbh, enum fp_urb_cb_status status,
+ struct usb_ctrl_setup *setup, unsigned char *data, int actual_length,
void *user_data)
{
if (status != FP_URB_COMPLETED) {
@@ -336,10 +336,10 @@ static int next_state(void)
}
static void cb_irq(fpusb_dev_handle *_devh, fpusb_urb_handle *urbh,
- struct fpusb_bulk_msg *msg, enum fp_urb_cb_status status,
- int actual_length, void *user_data)
+ enum fp_urb_cb_status status, unsigned char endpoint, int rqlength,
+ unsigned char *data, int actual_length, void *user_data)
{
- unsigned char irqtype = msg->data[0];
+ unsigned char irqtype = data[0];
if (status != FP_URB_COMPLETED) {
fprintf(stderr, "irq URB status %d?\n", status);
@@ -375,8 +375,8 @@ static void cb_irq(fpusb_dev_handle *_devh, fpusb_urb_handle *urbh,
}
static void cb_img(fpusb_dev_handle *_devh, fpusb_urb_handle *urbh,
- struct fpusb_bulk_msg *msg, enum fp_urb_cb_status status,
- int actual_length, void *user_data)
+ enum fp_urb_cb_status status, unsigned char endpoint, int rqlength,
+ unsigned char *data, int actual_length, void *user_data)
{
if (status != FP_URB_COMPLETED) {
fprintf(stderr, "img URB status %d?\n", status);