-
tube de contrôle :
int typ=USB_TYPE_xxx; /* see usb.h */
int req=USB_REQ_yyy; /* see usb.h */
int val=...; /* parameter for req */
int ind=...; /* parameter for req */
char data[MAX_DATA]; /* data to send or to receive */
int size=...; /* size to send or maximum size to receive */
char data[]={...}; /* if data to be sent */
int size=...; /* size of data */
int timeout=...; /* timeout in ms */
int nb_bytes=usb_control_msg(handle,typ,req,val,ind,size,data,timeout);
- tube pour interruptions :
int endpoint=...; /* ID of endpoint */
char data[MAX_DATA]; /* data to send or to receive */
int size=...; /* size to send or maximum size to receive */
int timeout=...; /* timeout in ms */
/* OUT interrupt, from host to device */
int bytes_out=usb_interrupt_write(handle,endpoint,data,size,timeout);
/* IN interrupt, host polling device */
int bytes_in=usb_interrupt_read(handle,endpoint,data,size,timeout);
- tube pour transfert de volume :
int endpoint=...; /* ID of endpoint */
char data[MAX_DATA]; /* data to send or to receive */
int size=...; /* size to send or maximum size to receive */
int timeout=...; /* timeout in ms */
/* OUT bulk transfer */
int bytes_out=usb_bulk_write(handle,endpoint,data,size,timeout);
/* IN bulk transfer */
int bytes_in=usb_bulk_read(handle,endpoint,data,size,timeout);
- tube isodromique non implanté.