USB_FREE_URB(9) USB Core APIs USB_FREE_URB(9)NAME
usb_free_urb - frees the memory used by a urb when all users of it are finished
SYNOPSIS
void usb_free_urb(struct urb * urb);
ARGUMENTS
urb
pointer to the urb to free, may be NULL
DESCRIPTION
Must be called when a user of a urb is finished with it. When the last user of the urb calls this function, the memory of the urb is freed.
NOTE
The transfer buffer associated with the urb is not freed unless the URB_FREE_BUFFER transfer flag is set.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 USB_FREE_URB(9)
Check Out this Related Man Page
USB_FILL_INT_URB(9) Host-Side Data Types and Macro USB_FILL_INT_URB(9)NAME
usb_fill_int_urb - macro to help initialize a interrupt urb
SYNOPSIS
void usb_fill_int_urb(struct urb * urb, struct usb_device * dev, unsigned int pipe, void * transfer_buffer, int buffer_length,
usb_complete_t complete_fn, void * context, int interval);
ARGUMENTS
urb
pointer to the urb to initialize.
dev
pointer to the struct usb_device for this urb.
pipe
the endpoint pipe
transfer_buffer
pointer to the transfer buffer
buffer_length
length of the transfer buffer
complete_fn
pointer to the usb_complete_t function
context
what to set the urb context to.
interval
what to set the urb interval to, encoded like the endpoint descriptor's bInterval value.
DESCRIPTION
Initializes a interrupt urb with the proper information needed to submit it to a device.
Note that High Speed and SuperSpeed interrupt endpoints use a logarithmic encoding of the endpoint interval, and express polling intervals
in microframes (eight per millisecond) rather than in frames (one per millisecond).
Wireless USB also uses the logarithmic encoding, but specifies it in units of 128us instead of 125us. For Wireless USB devices, the
interval is passed through to the host controller, rather than being translated into microframe units.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 USB_FILL_INT_URB(9)