Remove nested functions from USB iterators.
* include/grub/usb.h (grub_usb_iterate_hook_t): New type. (grub_usb_controller_iterate_hook_t): Likewise. (grub_usb_iterate): Add hook_data argument. (grub_usb_controller_iterate): Likewise. (struct grub_usb_controller_dev.iterate): Likewise. Update all implementations and callers.
This commit is contained in:
parent
18288f17ac
commit
5fdbaed168
9 changed files with 108 additions and 75 deletions
|
@ -50,8 +50,12 @@ typedef enum
|
|||
GRUB_USB_SPEED_HIGH
|
||||
} grub_usb_speed_t;
|
||||
|
||||
typedef int (*grub_usb_iterate_hook_t) (grub_usb_device_t dev, void *data);
|
||||
typedef int (*grub_usb_controller_iterate_hook_t) (grub_usb_controller_t dev,
|
||||
void *data);
|
||||
|
||||
/* Call HOOK with each device, until HOOK returns non-zero. */
|
||||
int grub_usb_iterate (int (*hook) (grub_usb_device_t dev));
|
||||
int grub_usb_iterate (grub_usb_iterate_hook_t hook, void *hook_data);
|
||||
|
||||
grub_usb_err_t grub_usb_device_initialize (grub_usb_device_t dev);
|
||||
|
||||
|
@ -72,7 +76,8 @@ void grub_usb_controller_dev_register (grub_usb_controller_dev_t usb);
|
|||
|
||||
void grub_usb_controller_dev_unregister (grub_usb_controller_dev_t usb);
|
||||
|
||||
int grub_usb_controller_iterate (int (*hook) (grub_usb_controller_t dev));
|
||||
int grub_usb_controller_iterate (grub_usb_controller_iterate_hook_t hook,
|
||||
void *hook_data);
|
||||
|
||||
|
||||
grub_usb_err_t grub_usb_control_msg (grub_usb_device_t dev, grub_uint8_t reqtype,
|
||||
|
@ -98,7 +103,7 @@ struct grub_usb_controller_dev
|
|||
/* The device name. */
|
||||
const char *name;
|
||||
|
||||
int (*iterate) (int (*hook) (grub_usb_controller_t dev));
|
||||
int (*iterate) (grub_usb_controller_iterate_hook_t hook, void *hook_data);
|
||||
|
||||
grub_usb_err_t (*setup_transfer) (grub_usb_controller_t dev,
|
||||
grub_usb_transfer_t transfer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue